웹 브라우저 요청 흐름
그럼 앞서 봤던 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 |