<aside> ⚠️ 우리가 Chrome 을 실행시켜 주소창에 특정 URL 값을 입력시키면 어떤 일이 일어나는가?

</aside>

www.naver.com 입력 후 Enter를 눌렀을 때 내부적으로 어떠한 과정을 통해 해당 웹사이트의 내용들이 화면에 보이게 되는 것일까? 각 과정들을 살펴보도록 하자.

1. 브라우저의 URL 파싱

브라우저는 입력된 URL을 활용하여 해당 웹사이트의 서버와 통신하여 웹사이트의 내용을 우리에게 보여준다.

즉, 브라우저의 입장에서는 입력된 URL 내에서 필요한 모든 정보를 파악해야 한다.

그렇다면 URL은 어떤 구조로 이루어져 있으며 어떤 정보를 얻을 수 있는 것일까?

https://postfiles.pstatic.net/MjAyMTAzMTVfMjcg/MDAxNjE1ODE1NzI3Njgz.qB4LdD6ZMC69d1dpb7p8CiQTkTvHjyUo1Z_Aflaehkgg.2dW0W1HrIAUiDkYpheh2CpvgxRjOpMFEzy0coE4iTlkg.PNG.djena5078/image.png?type=w773

[URL의 구조]

**Protocol** : 네트워크 상으로 통신을 할 때 어떤 프로토콜을 사용하여 해당 URL에 요청할 것인지

**URL** : 해당 웹사이트의 위치(Locator)를 식별하기 위한 친구

**Port** : 논리적인 접속 장소를 알려주는 친구, 주로 전송 계층에서 사용

사실 URL만 입력해도 Protocol과 Port가 자동으로 구성 ⇒ 브라우저에서 제공해주는 기능

www.naver.com 입력 => 주소창 https://www.naver.com/

[프로토콜 부분]

www.naver.com을 흔히 도메인이라 한다. 도메인만 입력해 웹사이트에 접속했을 때 브라우저는 기본 세팅으로 HTTP 프로토콜을 사용하여 접속을 시도한다.

만약 해당 웹사이트가 HTTPS 프로토콜이 적용된 페이지라면 HTTP 접속이 시도되었을 때 301, 302 HTTP Method를 통해 리다이렉트를 하라는 메시지를 브라우저에게 보내게 된다.

브라우저는 이 요청을 통해 HTTPS 프로토콜로 접속하게 되는 원리이다.

한번이라도 HTTPS 프로토콜로 접속한 적이 있다면 HSTS(HTTP Strict Transport Security) 목록에 저장되며, 이후에 접속하게 되면 바로 HTTPS 프로토콜로 요청을 하게 된다.