Skip to content

Latest commit

 

History

History
21 lines (12 loc) · 1.32 KB

browser-dnslookup-process.md

File metadata and controls

21 lines (12 loc) · 1.32 KB

브라우저에서 DNS Lookup은 어떤과정으로 진행되는가

브라우저에서 서버의 ip를 알기 위해서는 DNS(Domain Name System)를 이용해야 합니다.

그런데, 우리는 항상 DNS Server를 거치지 않는다고 알고 있습니다. 우리가 알고있는 방법은 캐싱 기법을 이용한 방법이죠.

  1. DNS Cache
  2. hosts 파일
  3. browser DNS Cache

위의 세 개가 로컬에서 진행되는 캐싱입니다.

위의 세 개는 역순으로 진행됩니다. 먼저 브라우저는 자체적으로 가지고 있는 Cache를 확인합니다. 여기에 존재하면 일단 그 IP로 접속을 시도하게 됩니다.

두 번째로는 hosts 파일을 조회합니다. 로컬의 hosts 파일을 변조하고 한 번 시크릿 창을 띄워 접속을 시도해보세요.

세 번째로는 DNS Cache를 조회합니다. 여기에도 없으면 DNS Lookup을 진행하게 됩니다.

DNS Lookup은 브라우저가 프로토콜 스택에 DNS 조회 요청을 보내고 프로토콜 스택은 요청 메시지를 작성합니다. 그리고 알고있는 가장 가까운 DNS 서버에 해당 요청에 대한 데이터가 있는지 확인합니다.

확인결과 없다면 루트 DNS 서버에 요청을 보내게 됩니다. 그 이후로는 해당하는 URL의 DNS 정보에 따라 역순으로 탐색하게 됩니다.