TIL

주소창에 URL을 입력하면 벌어지는 일

nana-log 2023. 10. 8. 19:13

1. 브라우저가 URL을 해석/파싱한다.
주소창에 www.naver.com을 입력하고 엔터를 누른다
- https : 프로토콜
- www.naver.com : Domain Name
- 443 : Port
어떤 프로토콜을 사용할 것인지, 어떤 URL로 서버에 요청을 보낼 것인지, 어떤 포트번호로 요청할 것인지 해석하는 과정이 이루어 진다.

2. URL이 문법에 맞으면 Punycode encoding을 URL의 HOST 부분에 적용한다.

3. HSTS(HTTP Strict Transport Security)목록을 로드해서 확인한다.
http 연결을 거쳐서 https로 전환되는 과정은 쿠키 탈취 등 보안상 안전하지 못하기때문에, https 를 클라이언트에게 강제하도록 하기위해 HSTS를 사용한다.
브라우저는 HSTS 목록에 우리가 요청할 웹 사이트가 존재하는지 확인한다. 목록에 해당 웹사이트가 있으면 브라우저가 HTTP 대신 HTTPS 프로토콜을 사용하여 요청을 보낸다.

4. DNS서버를 조회해서 IP주소를 받아온다.
사람이 이해하기 쉽게 도메인 이름을 사용하던 URL을 컴퓨터가 이해할 수 있게 IP 주소로 변경해야 한다. 이 역할을 하는것이 DNS이다.

5. DNS서버에서 응답 받은 IP 주소를 ARP를 통해 MAC 주소로 변환한다.
IP주소를 통해 해당 IP 서버가 있는 곳이 로컬 네트워크가 아닌 경우 그 지역 라우터까지 패킷이 전달된다. 라우터에서는 IP 주소에 해당하는 컴퓨터가 누군지 알아내기 위해 MAC 주소가 필요하다.

6. 3-way-handshake를 통해 TCP 소켓 연결을 한다.
MAC주소를 확보했으니 naver.com 서버와 통신을 하기 위한 TCP 소켓 연결을 진행해야 한다.
TCP 소켓 연결은 3-way-handshake 과정을 통해 이루어진다.

7. HTTPS의 경우 3-way-handshake에 TLS(Transport Layer security, SSL) handShake가 추가된다.
TCP소켓을 통해 연결이 완료되었다. 이제 naver.com 페이지를 달라고 서버에 요청을 보낸다.

8. HTTP 프로토콜로 요청한다.

9. HTTP 서버가 응답한다.

10. 웹 브라우저가 그린다.






참고자료
https://github.com/ssi02014/Front-Interview/blob/master/documents/CS/enter-url-process.md

https://1-7171771.tistory.com/134

 

인터넷 주소창에 URL을 입력 후 화면에 출력되는 과정

인터넷 주소창에 naver.com 을 입력하고 Enter키를 눌렀을 때 일어나는 과정들을 알아보자. 1. 브라우저의 URL 해석/파싱 크롬 주소창에 www.naver.com을 입력하고 엔터를 눌렀을 때, 가장 먼저 일어나는

1-7171771.tistory.com


https://juyoung-1008.tistory.com/m/19

 

TCP/IP 소켓 통신이란?

소켓(Socket)의 정의 소켓(Socket)은 1982년 BSD(Berkeley Software Distribution) UNIX 4.1에서 처음 소개되었으며 현재 널리 사용되는 것은 1986년의 BSD UNIX 4.3에서 개정된 것입니다. 소켓은 소프트웨어로 작성된

juyoung-1008.tistory.com