cleanUrl: /posts/what-happen-browser-after-url-enter
이 포스팅은 What happens when you type a URL in the browser and press enter 를 번역 + 요약 하였습니다.
이걸 설명해달라는 친구가 있었는데 막상 설명하려고 하니까 말문이 턱 막혀버려 찾아보게 되었습니다.
DNS 는 phone book 과 같다.(DB) 서버는 unique IP 주소를 갖는다. DNS 는 이름과 IP 주소의 리스트를 요청한 URL 에 해당하는 IP 주소를 반환합니다.
DNS 의 목적은 human friendly navigation 입니다.
DNS record 를 찾기 위해 browser 는 4가지 캐시를 먼저 확인합니다.
URL 이 캐시들에 없다면, ISP 의 DNS 서버는 DNS 질의를 하여 IP address 를 찾기 시작합니다. DNS query 의 목표는 여러 DNS 서버를 돌며 URL 에 맞는 IP address 를 찾을 때 까지 검색하는것 입니다.
이 검색을 recursive search 라 하여 DNS 서버들을 검색하는데 맞는 IP 를 찾거나, 그런 IP 가 없다는 error 를 반환할 때 까지 수행합니다.
이 상황에서 우리는 ISP 의 DNS 서버로 요청을 되풀이하는데, DNS 서버에서 정확한 IP 를 찾아내기 위해서 입니다.
요즘 Third-level domain 까지 확인 할 필요가 있습니다. 각각의 level은 그들의 name server 를 갖고 있다.
예를들어, http://maps.google.com
을 찾는다면, root name server 에서 Top level server 로 redirect 를 하여 .com
을 찾습니다. 그리고 second-level 에서 google 을 찾아 google.com
이 되면 third level server 로 redirect 하여 maps.google.com
정확한 IP address 를 찾아 반환합니다.
이러한 redirect 가 실행될 작은 크기의 data packet 을 사용해 전송합니다. 이 패킷이 여러 DNS 서버로 redirect 전송이 됩니다. 이 장비는 Routing table 을 사용해 어떤 방법을 찾아야 가장 빠를지 확인합니다.