인터넷 브라우저를 이용해 웹 페이지를 열어볼 때 무슨 일이 일어날까? 예를 들어, '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 웹 기본 지식
'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 |