본문 바로가기

반응형

Computer Science/Network

(6)
[Network] SSL 암호화 (대칭키, 공개키, 개인키) 1. SSL SSL 은 Secure Socket Layer 의 줄임말로 웹서버와 브라우저 사이의 보안을 위해 사용되는 프로토콜이다. SSL 은 Certificate Authority (CA) 라고 불리는 3rd party 를 통해 서버와 클라이언트의 인증에 사용한다. - HTTPS SSL 적용한 대표적인 사례가 HTTPS 이다. HTTPS 는 HTTP 에 SSL 을 적용하여 보안을 강화한 프로토콜이다. HTTPS 는 공개키와 대칭키 방식을 혼합하여 데이터를 암호화하여 전달한다. 2. SSL 의 암호화 SSL 에서 데이터를 암호화 하기 위해서 사용하는 일종의 비밀번호를 키 (key) 라고 한다. 이 키에 따라서 암호화 된 결과가 달라지기 때문에 키를 모르면 복호화를 수행할 수 없다. 암호화의 방식은 이 키..
[Network] HTTP Header User-Agent 특정 사이트에서 프로그램을 다운로드하려고 할 때 페이지에서 현재 OS 에 맞는 버전의 프로그램을 추천해줄 때가 있다. Windows, Max, Ubuntu 등등 다양한 플랫폼에 맞는 버전의 프로그램들이 있는데, 이 사이트들은 어떻게 OS 를 감지하고 알맞는 버전을 추천해주는 걸까? 1. User-agent HTTP 통신을 할 때 헤더 값에는 다양한 정보들이 포함된다. 그 중에는 HTTP 요청을 보내는 사용자의 식별 정보를 담고 있는 항목이 있는데, 바로 User-Agent 이다. User-Agent 는 request header 에 포함되는 string 값으로 요청을 보내는 디바이스의 application, operating system, vendor, browser version 등의 정보를 포함하고있..
[Network] Browser 통신 과정 1. 브라우저 브라우저는 사용자가 선택한 자원을 서버에 요청하고 이를 부라우저에 표시하는 역할을 한다. 자원은 보통 HTML 문서지만, PDF나 다른 형태일 수도 있다. 자원의 주소는 URI (Uniform Resource Identifier)에 의해 정해진다. 브라우저는 웹 표준화 기구인 W3C에서 정한 HTML과 CSS 명세에 따라 HTML 파일을 해석하여 표시한다. 브라우저의 기본 구조 - 사용자 인터페이스: 주소 표시줄, 이전/다음 버튼, 북마크 메뉴 등 요청한 페이지를 보여주는 창을 제외한 나머지 부분 - 브라우저 엔진: 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어 - 렌더링 엔진: 요청한 콘텐츠를 표시. HTML을 요청 시, HTML과 CSS를 파싱하여 화면에 표시 - 통신: HTTP ..
[Network] HTTP (Hyper text transfer protocol) 1. HTTP HTTP (Hyper text transfer protocol) 는 인터넷 상에서 데이터를 주고받기 위한 서버/클라이언트 모델을 따르는 전송 프로토콜이다. TCP와 UDP를 사용하며 기본 포트는 80번을 사용한다. ※ Protocol 프로토콜은 컴퓨터가 네트워크 내에서 어떤 방식으로 통신해야하는지 정한 규칙의 집합이다. (ftp, telnet, http, smtp, dhcp 등등) 2. Connectionless & Stateless - Connectionless • 서버에 연결하고 요청해서 응답을 받으면 연결을 끊어버린다. • HTTP 통신에서 클라리언트가 request를 서버에 보내고 서버가 클라이언트에게 response를 보내면 연결을 끊는다. • 동시사용자들의 접속유지를 최소한으로 ..
[Network] TCP, UDP TCP와 UDP는 네트워크 계층에서 전송 계층, transport layer 에 사용되는 프로토콜이다. 전송 계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하는 계층으로 데이터의 전달을 담당한다. 이때 데이터의 전달에 사용되는 프로토콜이 TCP, UDP 이다. 1. TCP (Transmission Control Protocol) TCP, 전송 제어 프로토콜은 internet protocol suite의 핵심 프로토콜 중 하나로, IP (Internet Protocol) 과 함께 TCP/IP 라는 명칭으로도 사용된다. IP는 데이터의 배달을 처리한다면 TCP는 패킷을 추적 및 관리하게 된다. TCP는 근거리 통신망이나 인트라넷, 인터넷에 사용되어 네트워크 간의 데이터 전송을 안정적이고, 순서대로, 에..
[Network] Internet (인터넷 네트워크 기본) 1. What is Internet? Internet 전 세계 컴퓨터들을 하나로 통신할 수 있도록 프로토콜을 통해 연결한 글로벌 네트워크로 IP, TCP 등의 프로토콜을 사용하여 패킷을 주고받는 방식으로 통신한다. Protocol 컴퓨터가 네트워크 내에서 어떤 방식으로 통신해야하는지 정한 규칙의 집합. TCP/IP: Transmission Control Protocol / Internet Protocol - 인터넷에서 사용하는 프로토콜 - TCP: 전송 조절 프로토콜 (HTTP, FTP, SMTP) • 데이터의 안정적인 전달을 보증 (전달된 패킷의 순서를 유지) - IP: 패킷 통신 방식의 인터넷 프로토콜 Client vs Server Client와 Server는 인터넷을 통해 통신하는 애플리케이션으로 ..

반응형