카테고리 없음
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를 한 나에게 응답패킷이 도착하게 된다.
그럼 이런화면이 보일 것이다.