카테고리 없음

HTTP Request의 흐름

곽빵 2022. 10. 1. 18:09

개요

우리가 어떤 웹페이지에 들어가려고 url 클릭을 했을때 어떤 과정이 이루어 질까?

( 이영한님의 모든 개발자를 위한 HTTP 기본 지식 강의를 바탕으로 작성했습니다.)

 

이 url을 클릭했을 때 무슨 일이 일어날까? 

https://www.google.com/search?q=hello&hl=ko 

 

헬로

아델의 노래

www.google.com

 

밑의 사진은 위의 URL의 실제 모습이다. (생략되어 있던 port번호가 생겨났는데 https가 사용하는 443이다.)

이 DNS와 port 번호를 바탕으로 구글 서버에 접근하는데 접근하기 전에 브라우저가 HTTP Request Message를 생성해 준다.

브라우저가 생성한 HTTP메시지를 Application계층(HTTP)에서 전송계층(TCP/IP)으로 전달할 때 SOCKET 라이브러리를 이용해 흔히들 알고 있는 3-handshake 과정(나 <-> 구글서버)이 일어난다. 

3-handshake 과정에서 문제 없이 확인이 되었으면 전송계층에서는 해당 HTTP 메세지에 패킷정보(IP, Port 정보)를 씌워서 네트워크 계층으로 보낸다. 그리고 수많은 node를 거쳐 구글서버에 도착하게 될 것 이다.

 

 

구글서버에서는 받은 패킷안에 http message만 뽑아내서 유저가 무엇을 원하는지 보고

 구글서버는 요청에 맞는 응답메세지를 만들어 다시금 전송계층 네트워크계층을 통해 request를 한 나에게 응답패킷이 도착하게 된다.

그럼 이런화면이 보일 것이다.