HTTP/네트워크 기본 지식

[HTTP] 웹 브라우저 요청 흐름

Boradoris 2023. 1. 17. 17:43

웹 브라우저 요청 흐름

 

그럼 앞서 봤던 URL을 웹 브라우저에 요청하면 어떤 식으로 검색이 되는 걸까?

먼저,  URL의 host 부분인 "www.google.com"을 이용해서 DNS 조회를 실시한다.

이를 통해 웹 브라우저는 구글의 IP주소를 알 수 있다.

또한, scheme 부분의 "https"를 통해 생략 가능한 포트 번호 443과 구글 주소를 가지고 HTTP 요청 메시지를 생성한다.

 

 

그러면 다음과 같은 HTTP 요청 메시지를 생성하게 된다. (부가정보가 더 있지만 공부를 위해 간략화)

대략적으로 설명하자면,

GET - 데이터 요청

search?q=hello&hl=ko - query 정보

HTTP/1.1 - HTTP 버전 정보

Host: www.google.com - Host 정보

 

 

HTTP 메시지 전송

 

웹 브라우저를 통해 HTTP 메시지를 생성하였다면,

Socket 라이브러리를 통해 메시지가 전달된다.

앞서 TCP/IP에서 배웠던 것처럼 패킷을 생성하고 HTTP 메시지를 포함시킨다.

마지막으로 네트워크 인터페이스를 통해 인터넷으로 흘러간다.

 

 

TCP/IP 패킷에 HTTP 메시지를 포함시킨 모습이다.

 

HTTP 응답 메시지

 

클라이언트가 구글 서버에 HTTP 요청 메시지를 성공적으로 보냈다면

그림과 같은 HTTP 응답 메시지를 서버에서 보낼 것이다.

HTTP/1.1 200 OK // 정상 응답

Content-Type:text/html;charset=UTF-8 // 응답하는 데이터는 Html 형식이고, 언어는 UTF-8

Content-Length:3423 // Html 데이터의 길이

 

 

서버로부터 HTTP 응답 메시지를 성공적으로 수신하게 된다면,

수신받은 HTTP 메시지를 웹 브라우저가 렌더링 하여 사용자가 html 결과를 볼 수 있게 된다.

 


출처 : https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC

'HTTP > 네트워크 기본 지식' 카테고리의 다른 글

[HTTP] URL 분석 및 문법  (0) 2023.01.17
[HTTP] URI, URL, URN이란?  (0) 2023.01.17
[HTTP] DNS란?  (0) 2023.01.17
[HTTP] Port란?  (0) 2023.01.17
[HTTP] UDP란?  (0) 2023.01.16