인터넷 브라우저를 이용해 웹 페이지를 열어볼 때 무슨 일이 일어날까? 예를 들어, 'https://www.google.com:443/search?q=hello&hl=ko' 라는 URL을 웹 브라우저에 입력하면 다음과 같은 단계들이 일어난다.

 

[ 1. DNS 조회(DNS Lookup) ]

먼저, 브라우저는 'www.google.com'이라는 도메인 이름을 이용해 해당 IP 주소를 찾아야 한다. 이 작업은 DNS(Domain Name System) 서버를 조회하여 진행한다. 예를 들어, 이 경우에는 DNS 서버가 'www.google.com'의 IP 주소를 '200.200.200.2'로 알려줄 수 있다. 

[ 2. 포트 번호 확인 ]

다음으로 브라우저는 웹 서버와 통신할 수 있는 '문'을 찾아야 하는데, 이 '문'이 바로 포트 번호이다. 보통 HTTPS 프로토콜은 443 포트를 사용한다. URL에서 ':443'이라고 명시되어 있으면 이는 HTTPS 프로토콜의 기본 포트인 443번을 사용하겠다는 의미이다.

[ 3. HTTP 요청 메세지 생성 ]

이제 브라우저는 웹서버에 정보를 요청하기 위한 HTTP 요청 메세지를 생성한다. 이 메세지는 요청 유형(GET,POST 등), 요청하는 URL, 사용하는 프로토콜 버전 등의 정보를 포함한다. 이 예시에서는 'hello'라는 단어를 한국어 페이지에서 검색하는 요청을 보내는 것이다. 이에 대한 HTTP 요청 메세지는 대략 다음과 같다.

GET /search?q=hello&hl=ko HTTP/1.1
Host: www.google.com

위의 사진과 같이, 요청 패킷이 도착하면 HTTPS 메세지를 받은 다음 해석을 한다.

https://www.google.com 같은 것을 해석 하여서 HTTP 응답 메세지를 만들어낸다.

 

Content Type이라는 것은 html 형식, UTF-8 형식등을 알 수 있고,

Content-Length은 html의 길이를 알 수 있다. 

 

이걸 받으면, HTMl 데이터가 들어 있으니, 웹 브라우저가 렌더링을 통하여 사용자가 화면을 볼 수 있다. 

 

Reference : 모든 개발자를 위한 HTTP 웹 기본 지식

https://www.inflearn.com/

'HTTP 웹 기본 지식' 카테고리의 다른 글

http의 특징(Stateless,Stateful,비연결성)  (0) 2023.05.30
HTTP의 변천사  (0) 2023.05.30
URI  (0) 2023.05.30
DNS  (0) 2023.05.29
네트워크 상에서 데이터의 이동 이해하기  (0) 2023.05.29

+ Recent posts