1. HTTP

Hyper Text Transfer Protocol: 웹 상에서 클라이언트와 서버가 데이터를 전송하는 통신 규약. 대부분이 HTML웹문서지만 사실 거의 모든 데이터를 주고받을 수 있다.

HTTP, HTTPS

HTTP + S(Secure) → HTTP의 보안 버전. 데이터 암호화를 통해 데이터 보호 및 신뢰성이 향상된다. HTTPTCP/IP를 사용하고, HTTPS는 TLS/SSL 프로토콜을 사용한다.

브라우저의 동작 원리

1. DNS조회 → IP주소반환

웹브라우저에 입력된 도메인 이름을 DNS서버에 요청하면, DNS서버가 실제 IP주소를 변환해 반환한다. 클라이언트는 반환된 IP주소의 서버에게 요청한다. 어떻게?

2. HTTP 메시지

바로 메시지를 통해. 클라이언트는 요청에 대한 상세 내용이 담긴 메시지를 전송할 수 있다. 연결 및 패킷 생성/전달을 거친 요청 메시지가 전송이 되고, 서버로부터의 응답 메시지를 반환받는다. 데이터를 주고받기 위한 내용을 담은 말그대로 ‘메시지’를 주고받는 것이다.

Untitled

3. TCP/IP 연결 및 패킷 생성

웹은 응용계층에서 HTML 프로토콜을 사용한다면, 전송과 네트워크계층에서 TCP/IP 프로토콜을 사용한다. TCP/IP 연결을 성립하기 위해 다음과 같은 통신방식을 채택한다.

3-WAY HANDSHAKE: 클라이언트 요청(SYN)-서버 응답과 요청(SYN+ACK)-클라이언트 응답(ACK)과 같이 3번에 걸쳐 요청하는 방식을 말한다.

Untitled

4. 요청 패킷 전달

패킷이란 메시지를 쪼갠 데이터의 작은 단위이다. 패킷에는 순서가 담겨 있어 전달 과정에 순서가 무작위가 되어도 패킷 덕분에 알맞은 순서로 전달할 수 있다.

5. 서버의 응답 패킷 전달