티스토리 뷰

 

기술 면접에서 자주 등장하는 질문 중 '웹 브라우저에 구글을 검색하면 어떤 일이 벌어지나요?'를 쉽게 이해할수 있게 정리해 봤다. (참고로 깊이있는 정리글이 아니다.)

 

(면접 때 이 질문을 받았는데.. ^^.. 답변을 잘하지 못했기 때문에 자기반성 겸 개념을 다시 정리하기로 했다.)

 

 1.사용자가 웹 브라우저의 주소창에 "구글" 또는 "www.google.com"과 같이 구글의 도메인 주소를 입력한다. 

 

2. 사용자가 입력한 도메인 주소를 바탕으로 브라우저는 먼저  로컬 DNS 캐시에 저장된 DNS 레코드를 검색한다.

 

3. 저장되어있는지 확인을 한 후 없으면 DNS(Domain Name System) 서버를 통해 구글의 IP 주소를 알아낸다.

 

4. 브라우저는 알아낸 IP 주소를 바탕으로 구글 서버에 HTTP 요청을 보낸다.

 

 

5. 구글 서버는 요청을 받아들이고, 요청에 대한 응답으로 구글 홈페이지를 제공한다.

 

6. 브라우저는 받은 응답을 해석하여, 화면에 구글 홈페이지를 보여준다.

 

 

 

 

👉 요약하면 웹 브라우저에서 구글을 검색하면, DNS 서버를 통해 IP 주소를 알아내고, HTTP 요청을 보내고, 구글 서버에서 응답을 보내는 과정을 거쳐 구글 홈페이지를 보여주는 것

 

 

💡 DNS 서버란 ?

DNS(Domain Name System)는 인터넷에서 도메인 이름을 IP 주소로 변환하는 역할을 수행하는 서버

(= 도메인 이름을 IP 주소로 변환하는 시스템)

 

사용자가 인터넷에 도메인 이름을 이용했을 때 입력한 도메인을 IP주소로 바꾸고 IP주소로 접속하는 과정, 전체 시스템을 DNS라고 한다.

(=DNS 서버는 컴퓨터 네트워크에서의 "전화 번호부"와 같은 역할)



위에서 정리한 것처럼 사용자가 웹 브라우저에서 도메인 이름을 입력하면, 브라우저는 먼저 로컬 DNS 캐시에 저장된 DNS 레코드를 검색을 하는데 로컬 DNS 캐시에 해당 정보가 없을 경우, 브라우저는 DNS 서버에 검색을한다.

이 DNS 서버는 '계층 구조'를 가지는 분산 데이터베이스 구조를 가지고있기 때문에 상위 DNS 서버로 차례대로 검색(질의)하며, 최종적으로 DNS 정보를 검색하여 브라우저에게 전달한다. 

 

DNS 서버는 인터넷 사용자가 웹사이트에 접속할 수 있도록 도메인 이름을 IP 주소로 변환하여 제공하는 중요한 역할을 수행한다.

 

도메인 네임에 대해서 어떻게 계층 구조를 가지고 있는지 보면 좋은 링크 

댓글