웹 브라우저 요청 흐름

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

이전에 위의 URL을 예로 들어 설명을 했었다.
DNS를 조회해서 www.google.com을 찾는다. 예로 IP가 200.200.200.2라고 하자
https로 시작하기에 443port는 생략이 가능하다.

내 IP(예로 100.100.100.1이라고 하자)에서 위의 URL을 입력했기 때문에
구글 서버에 200.200.200.2로 HTTP 요청 메시지를 보낸다.

HTTP요청 메세지는

GET/search?q=hello&hl=ko HTTP/1.1 Host:www.google.com 이라는 형태로 만들어진다.

URL에 입력한 순간 클라이언트 IP에 웹브라우저는 HTTP메시지를 생성한다.
이제 이걸 SOCKET라이브러리를 통해 전달한다.
TCP/IP 프로토콜에서는 HTTP메시지를 패킷으로 씌워서 인터넷으로 흘러들어가게 된다.
그럼 이제 출발지IP와 도착지IP 정보가 담겨진 메시지를 인터넷 노드를 통해 이동해서
구글 서버 200.200.200.2로 도착하면 서버에서 이제 HTTP 응답메시지를 만들어준다.

HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length:3423

<html>
	<body>...</body>
</html>

위와 같이 응답메세지의 형태를 한 응답패킷이 클라이언트에 도착하면
클라이언트 IP에서는 HTML을 렌더링하고 결과를 볼 수 있게 된다!
전체적으로 이런 구조로 웹브라우저가 요청과 응답을 하게되는것이다.

내일은 HTTP가 무엇인지 특징, 속성에 대해 알아보고자 한다.

출처 : 모든 개발자를 위한 HTTP 웹 기본 지식(김영한 강사님 인프런 강의)

profile
비전공자 개발초보입니다!

0개의 댓글