도메인 이름(Domain Name)은 인터넷에서 특정 위치를 식별하는데 사용되는 사람이 읽을 수 있는 주소로, 웹사이트와 온라인 서비스에 더 쉽게 접근할 수 있도록 해준다. 도메인 주소는 IP 주소로 변환되며, 이는 컴퓨터가 서버를 찾고 연결하는데 사용하는 숫자 식별자다.
인터넷에 연결된 컴퓨터는 IP 주소(ex. IPv4: 192.0.2.172 / IPv6: 2001:db8:8b73:0000:0000:0370:1337)를 통해 웹에 접속한다. 컴퓨터는 이러한 IP 주소를 쉽게 처리할 수 있지만, 사람들은 서버를 운영하는 사람이 누군지 또는 웹사이트가 제공하는 서비스가 무엇인지 알기 어렵다. 또 IP 주소를 기억하기 어렵고 시간이 지나면 변경이 될수도 있다. 이러한 문제를 해결하기 위해 도메인 이름은 숫자 IP 주소 대신 웹사이트로 이동하는 사용자 친화적인 방법을 제공한다.
도메인 이름 구조
도메인 이름은 일반적으로 각각 점으로 구분된 부분으로 나뉜다. 오른쪽에서 왼쪽으로 읽어 나가며 도메인 이름의 식별자가 가장 일반적인 것에서 구체적인 것으로 구분된다.
- TLD (Top-Level Domain / 최상위 도메인)
- 도메인 이름의 마지막 점 오른쪽 부분
- 일반 TLD로는 '.com', '.net', '.org' 이 있음
- 국가별 TLD는 '.kr', '.uk', '.jp' 이 있음
- '.gov'는 미국 정부 부서에서만 사용하고, '.edu'는 교육 및 학술 기관에서만 사용할 수 있음
- 2LD (Second-Level Domain / 2차 도메인)
- TLD는 왼쪽에 있으며, 필수로 사용됨
- 길이는 1 ~ 63 까지로 대소문자 구분이 없는 문자 시퀀스
- 문자 A-Z, 숫자 0-9, 젤앞뒤를 제외하면 '-'도 올수있음
- 3LD (Third-Level Domain / 3차 도메인)
- 2LD 왼쪽에 있으며 필수적이진 않음
- 보통 2차 도메인의 하위 구분을 할때 사용
TLD 유형
- 일반 TLD (Generics TLDs / gTLDs)
'.com', '.net', 'org'와 같이 웹에서 흔히 볼 수 있는 도메인 이름이 포함된다.
인터넷 이름 할당 및 번호 관리 기관(ICANN)은 새로운 gTLD 생성을 엄격하게 제한 했지만, 2010년 이러한 제한이 완화되면서 지금은 '.top', '.xyz', '.loan'과 같이 다양한 gTLD가 있다.
- 국가 코드 TLD (Country-code TLDs / ccTLDs)
국가, 주권 국가 및 영토에서 사용하도록 예약 되어 있다. 예로 '.kr(한국)', '.uk(영국)', '.au(호주)', '.jp(일본)'가 있다.
국가 코드 TLD는 인터넷 이름 할당 및 번호 관리 기관(ICANN)이 운영하는 인터넷 할당 번호 기관(IANA)은 각 위치에서 ccTLD를 관리할 적절한 조직을 선택해 관리된다.
- 후원 TLD (Sponsered TLDs / sTLDs)
일반적으로 전문가, 민족 또는 지리적 커뮤니티를 나타낸다. 각 후원 TLD에는 해당 커뮤니티를 나타내는 후원자가 있다. 예를 들어 '.app'는 개발자 커뮤니티를 위한 TLD이며 Google에서 후원한다. 마찬가지로 '.gov'는 미국 정부에서 사용하도록 되어있으며 General Services Administration에서 후원한다.
- 인프라 TLD (Infrastructural TLDs)
해당 범주에는 '.arpa'만 포함되어 있다. 현대 인터넷 개척에 기여한 미국 군사 연구 기관인 DARPA의 이름을 딴 '.arpa'이로 최초로 만들어진 TLD이다. 현재는 역방향 DNS 조회를 용이하게 하는 것과 같은 인프라 업무를 위해 예약되어 있다.
- 예약된 TLD (Reserved TLDs)
일부 TLD는 예약 목록에 있음으로, 영구적으로 사용할 수 없다. 예를 들어 '.localhost'는 로컬 컴퓨터 환경을 위해 예약되어 있고, '.example'은 예제 데모에서 사용하도록 예약되어있다.
도메인 이름과 URL의 차이점
URL은 웹 주소라고도 하며, 사이트의 도메인 이름과 프로토콜 및 경로를 포함한 기타 정보를 포함한다.
예를 들어, URL 'https://example.com/login'에서 'example.com'은 도메인 이름이고, 'https'는 프로토콜, '/login'은 웹사이트의 특정 페이지로 가는 경로이다.
이 처럼 도메인 이름은 URL에 포함된 내용이다.
DNS (Domain Name System)
브라우저에서 웹페이지를 표시하려면 IP주소 보다 도메인 이름을 입력하는 것이 더 쉬운데, 도메인 이름을 IP주소로 바꿔주는 시스템이 DNS(Domain Name System)이다.
DNS 요청
- 브라우저에 도메인 이름을 입력한다.
- 브라우저는 컴퓨터에 해당 도메인 이름을 식별된 IP주소를 이미 알고있는지 확인한다(로컬 DNS 캐시 사용). 인식하는 경우, 도메인 이름은 IP 주소로 변환되고 브라우저는 웹서버와 소통한다.
- 컴퓨터가 도메인 이름의 IP주소를 알지 못한다면, DNS 서버에 요청한다.
- 이제 컴퓨터가 DNS 서버를 통해 IP 주소를 알게 됬으므로 브라우저는 웹서버와 소통할 수 있다.
- 새로 알게된 IP 주소는 캐시로 기억해 두고, 다음에 같은 도메인 이름으로 물어보면 바로 찾을 수 있다.
- 참고 사이트 -
https://roadmap.sh/backend
https://developer.mozilla.org/en-US/docs/Learn_web_development/Howto/Web_mechanics/What_is_a_domain_name
https://www.cloudflare.com/learning/dns/glossary/what-is-a-domain-name/
https://www.cloudflare.com/learning/dns/top-level-domain/
https://howdns.works/ko/ep1/
'CS > 네트워크' 카테고리의 다른 글
[네트워크] HTTP (Hypertext Transfer Protocol) (0) | 2025.01.16 |
---|---|
[네트워크] 인터넷 기초 개념 정리 (0) | 2025.01.14 |