코드 그라데이션

브라우저에 URL을 입력하면 일어나는 일 본문

백엔드 면접

브라우저에 URL을 입력하면 일어나는 일

완벽한 장면 2024. 3. 21. 22:06

브라우저에 URL을 입력하면 일어나는 일

1) www.abc.com 이라는 주소를 입력한다. URL 에서 www는 호스트네임, abc는 도메인네임이라 칭한다.

=> abc라는 도메인에 속한 이름이 www라는 컴퓨터이다.

** 인터넷은 IP주소를 기반으로 접속한다.

-> HTTP 통신에 앞서 TCP 통신이 가능해야만  화면이 다음으로 넘어가준다.

 

문제는 IP 주소를 모르니까! 찾아야한다.

2) IP 주소를 찾기 작업에 돌입한다.

  1. 내부의 host 파일을 찾는다.
  2. DNS Cache를 참조한다.
  3. DNS Query를 통해 직접 찾는다.

3) 연결된 회사의 DNS 주소를 찾는다(ex. 구글, KT 등)

 

4) IP 주소를 받으면 그 서버로 TCP/IP 연결을 한다.

 

5) 연결창구에서 GET 방식으로 http request를 보낸다.

 

6) 연결창구에서 http response를 받는다.

 

7) 화면에 출력

 


여기에서 주목할 점이 몇 가지가 있다.

- 첫 질의에서 응답받은 내용을 DNS Cache에 저장(업데이트) 해놓는다.

- 그래서 두 번째로 도메인 주소로 접속할 때는 DNS wlfdmlfmf gkwl dksgsmsek.

- 6) 에서 응답받은 리소스들을

- 7) 에 캐시로 저장한다.(캐싱)

- 바뀐 것만 check

 


루트 DNS

루트 DNS(Root DNS)는 전 세계의 DNS(Domain Name System) 계층 구조에서

가장 상위에 위치하는 DNS 서버들을 가리킨다.

DNS는 사용자가 이해하기 쉬운 도메인 이름을 컴퓨터가 이해할 수 있는 IP 주소로 변환하는 역할을 수행한다.

이 계층 구조에서 루트 DNS는 모든 DNS 쿼리의 시작점이며 최상위 도메인(Top-Level Domain, TLD)에 대한 정보를 제공한다.

 

루트 DNS는 13개의 루트 서버로 구성되어 있다.

이 서버들은 전 세계에 분산되어 있고 각각 다른 지역에 위치하며, 동일한 루트 DNS 정보를 가지고 있다.

이 13개의 루트 서버는 A부터 M까지의 라벨로 식별되며,

각각의 라벨은 실제로 여러 대의 서버를 나타낼 수 있다.

 

루트 DNS 서버는 최상위 도메인에 대한 정보를 반환하지 않고,

그 대신 해당 도메인에 대한 TLD DNS 서버의 주소를 제공한다.

그런 다음, TLD DNS 서버에서는 더 하위 수준의 도메인에 대한 정보를 제공하고,

계속해서 이 정보를 찾아가면서 최종적으로 요청된 도메인에 대한 IP 주소를 찾아낼 수 있다.

 

=> 루트 DNS는 DNS 계층 구조에서 최상위에 위치하며, 모든 DNS 쿼리의 출발점 역할

 

728x90

'백엔드 면접' 카테고리의 다른 글

IPS와 Inline 구조  (1) 2024.03.24
HTTP 버전별 차이  (0) 2024.03.22
운영체제 구조(User mode와 Kernel mode, JVM)  (0) 2024.03.20
웹 서비스 구조 - 확장 세 번째  (0) 2024.03.19
웹 서비스 구조 - 확장 두 번째  (0) 2024.03.19
Comments