2022. 5. 4. 20:18ㆍ네트워크
1. DNS란?
- 인터넷에서 목적지를 찾아가기 위한 주소에 해당된다
- 네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP 주소로 해석해주는 TCP/IP 네트워크 서비스이다.
- IP주소는 복잡하고 외우기 쉽지 않기 때문에 이를 쉬운 도메인으로 변경한 것이다.
도메인: www.naver.com
IP: 223.130.195.200
내 컴퓨터에서 www.naver.com에 접속하려고 한다고 가정해보자.
그런데, 현재 내 브라우저는 네이버의 IP주소를 모른다.
그래서, 브라우저는 먼저 PC에 설정된 로컬 DNS 서버에 해당 도메인의 호스트명과 IP를 가지고 있는지 물어본다.
이 로컬 DNS 서버는 보통 통신사마다 지정된 곳이 있는데, 사용자가 다른 곳으로 바꿀 수도 있다.
로컬 DNS 서버에는 이 주소가 이미 캐싱되어서 정보를 가지고 있을 수도 있고, 없을 수도 있다.
있다면 바로 접속이 가능할 것이고, 없다면 로컬 DNS 서버가 Root 서버에게 이 주소에 해당하는 IP를 어디 찾을 수 있는지 물어본다. 이 루트 DNS 서버는 전세계에 13개가 있다고 한다.
이 루트 DNS 서버는 응답으로, .com으로 끝나는 도메인들을 담당하는 서버의 IP 주소를 반환한다.
로컬 DNS 서버는 이 주소를 받아들고 .com 담당 서버를 찾아간다.
그러면 .com 서버는 naver.com의 도메인 정보를 가진 DNS 서버의 IP 주소를 알려준다.
그 주소를 보고, naver.com의 여러 호스트네임 별 IP 주소들 중에서 www라는 호스트네임을 가진 IP 주소를 얻어낸다.
이 IP주소를 브라우저에 반환하면, 드디어 www.naver.com에 접속하게 되는 것이다.
2. 정리
- DNS란, 복잡한 IP 주소 대신 사용하는 도메인들의 정보를 저장하는 곳이다.
- 브라우저에 주소를 입력하고 접속을 시도하면, 먼저 로컬 DNS에 해당 주소의 정보가 저장되어 있는지 찾는다.
- 로컬 DNS에 정보가 있다면 바로 접속이 가능하지만, 없다면 Root DNS 서버에 물어본다.
- Root DNS 서버에서 얻은 도메인 정보를 타고 가 IP주소를 얻어서 해당 주소에 접속할 수 있다.
3. URL구조
Protocol : 컴퓨터끼리 정보를 주고받을 때의 통신방법에 대한 약속
HTTP(Hyper Text Transfer Protocol) :웹 서버와 사용자의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약
Domain : 웹서버의 위치를 지정해 주는 역할
이를테면 네이버의 IP 주소는 223.130.195.200인데, 이걸 접속하기 쉬운 naver.com이라는 도메인 주소로 바꾼 것이다.
Port : 인터넷 상에 있는 서버에 접속할 때 브라우저와 서버 간을 연결해주는 역할
URL 또는 IP를 토대로 찾아간 서버 컴퓨터 상에는 대부분 여러개의 프로그램이 실행되고 있어서, 이 여러개의 프로그램 중 어떤 프로그램에 접속할 것인지 알려주는 역할이다.
Query Parameter
& 기호로 구분되는 key-value 형식의 리스트로, key와 value는 = 문자로 구분한다.
Anchor
# 뒤에 나오는 녀석으로, 책갈피 역할을 한다.
특정 스크롤 위치로 이동하려고 할 때 생기며, 요청이 서버로 보내지지 않는다.
참고
https://velog.io/@hyun/DNS%EB%9E%80
DNS란?
웹 브라우저의 동작 순서 포스팅을 하면서 나왔던 개념인, DNS가 무엇인지 학습한다. 학부생 시절 네트워크 수업을 수강하지 않았기 때문에, DNS나 도메인 등의 용어를 들어만 봤지 정확하게 무엇
velog.io