코드 그라데이션
브라우저에 URL을 입력하면 일어나는 일 본문
브라우저에 URL을 입력하면 일어나는 일
1) www.abc.com 이라는 주소를 입력한다. URL 에서 www는 호스트네임, abc는 도메인네임이라 칭한다.
=> abc라는 도메인에 속한 이름이 www라는 컴퓨터이다.
** 인터넷은 IP주소를 기반으로 접속한다.
-> HTTP 통신에 앞서 TCP 통신이 가능해야만 화면이 다음으로 넘어가준다.
문제는 IP 주소를 모르니까! 찾아야한다.
2) IP 주소를 찾기 작업에 돌입한다.
- 내부의 host 파일을 찾는다.
- DNS Cache를 참조한다.
- 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 쿼리의 출발점 역할
'백엔드 면접' 카테고리의 다른 글
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 |