자세하게 설명하는 것이 아닌 대략적인 흐름을 간단하게 정리해보았다.
웹 브라우저에 주소를 입력하게 되면, 먼저 'google.com'에 해당하는 DNS서버를 조회하여 IP정보를 얻어온다.
또한, 생략된 포트 번호를 파악하기 위해 https의 포트인 443을 찾아내 http 요청 메시지를 생성한다.
요청을 보내기 전, 먼저 소켓 라이브러리를 통해 IP와 포트정보를 사용해 3-way-handshake를 통해 연결을 확립한다.
요청 메시지가 전송 계층에 전달되어 TCP헤더가 붙게 되고 => 세그먼트
네트워크 계층에 전달되어 IP헤더가 붙게 된다 => IP 패킷
브라우저는 만들어진 패킷을 서버에 전달하게 되고, 서버는 받은 패킷의 헤더를 제거하고 해석을 하고 요청을 처리한다.
처리된 결과를 통해 HTTP 응답 메시지를 생성하고 브라우저와 같이 헤더를 붙여 패킷을 만든다.
만들어진 응답 메시지를 다시 브라우저에 전송하게 되고 브라우저는 해당 패킷을 해석해 HTML을 화면에 랜더링하게 된다.
'CS > HTTP' 카테고리의 다른 글
🌐 TCP와 UDP 정리 (0) | 2021.02.05 |
---|---|
HTTP 메소드의 종류와 특징, 속성 (0) | 2021.01.13 |
HTTP란? HTTP의 특징, 메시지의 구조 (0) | 2021.01.13 |
URI vs URL vs URN (0) | 2020.12.31 |