도메인 네임이 무엇이고, 어떻게 동작하는지, 왜 그것들이 중요한지 배워보자.
Summary
도메인 네임은 인터넷 인프라의 핵심 중 하나이다. 도메인 네임은 인터넷에서 사용할 수 있는 모든 웹 서버들에 대해 사람이 읽을 수 있는 주소를 제공한다.
인터넷에 연결된 모든 컴퓨터는 IPv4 주소 (예를 들어, 173.194.121.32) 또는 IPv6 주소 (예를 들어, 2027:0da8:8b73:0000:0000:8a2e:0370:1337)와 같은 공용 IP 주소를 통해 연결할 수 있다.
컴퓨터는 이러한 주소들을 쉽게 처리할 수 있지만, 사람들은 누가 서버를 실행하고 있는지, 웹 사이트가 제공하는 서비스가 무엇인지 알아내는 데 어려움을 겪는다. IP 주소는 기억하기 어렵고 시간이 지남에 따라 변경될 수도 있다.
이러한 모든 문제들을 해결하기 위해 우리는 도메인 네임이라고 부르는 사람이 읽을 수 있는 주소를 사용한다.
Deeper dive
1. Structure of domian names
도메인 이름은 점으로 구분되는 여러 부분(한 부분일 수도 있다.)으로 만들어진 단순한 구조를 가지고 있고, 오른쪽에서 왼쪽 방향으로 읽는다.
이러한 각 부분은 전체 도메인 네임에 대해 특정한 정보를 제공한다.
1-1. TLD (Top-Level Domain)
TLD는 사용자에게 도메인 네임 뒤에 있는 서비스의 일반적인 목적을 알려준다. .com, .org, .net과 같은 가장 일반적인 TLD는 특정 기준을 충족시키기 위해 웹 서비스를 요구하지 않지만 일부 TLD는 보다 엄격한 정책을 적용하므로 웹 서비스의 목적이 무엇인지 명백하게 해야 한다. 예를 들어 :
- .us, .fr 또는 .se와 같은 로컬 TLD는 특정 언어로 제공되거나 특정 국가에서 호스팅되는 서비스를 요구할 수 있습니다. — 그것들은 특정 언어 또는 특정 국가의 리소스를 나타내야 한다.
- .gov가 포함된 TLD는 정부 부처에서만 사용할 수 있다.
- .edu TLD는 교육 및 학술 기관에서만 사용할 수 있다.
TLD에는 특수 문자와 라틴 문자가 포함될 수 있고, TLD의 대부분은 2~3자 정도이지만 최대 길이는 63자이다.
TLD의 전체 목록은 ICANN에 의해 관리된다.
1-2. Label (or component)
Label은 TLD의 앞에 온다. Label은 대소문자를 구분하지 않는 1~63자 길이의 문자 시퀀스로 문자 A~Z, 숫자 0~9, - 문자(Label의 첫 번째 또는 마지막 문자는 아닐 수 있음)만 포함한다. a, 97 및 hello-strange-person-16-how-are-you는 모두 유효한 Label의 예시이다.
TLD 바로 앞에 위치한 Label은 보조 레벨 도메인(SLD)이라고도 한다.
도메인 네임에는 많은 Label(or components)가 있을 수 있다. 도메인 네임을 형성하기 위해 3개의 Label이 필수적이거나 의무 사항도 아니다. 예를 들어 www.inf.ed.ac.uk는 유효한 도메인 네임이다. 당신이 통제하는 도메인(예를 들어 mozilla.org)에 대해 developer.mozilla.org, iot.mozilla.org 또는 bugzilla.mozilla.org와 같은 각각 다른 콘텐츠로 "하위 도메인(subdomains)"을 만들 수 있다.
2. Buying a domain name
2-1. Who owns a domain name?
당신은 도메인 네임을 구입할 수 없다. 이렇게 하면 사용하지 않는 도메인 네임은 결국 다른 사용자가 다시 사용할 수 있게 된다. 만약 모든 도메인 네임을 구매한다면, 웹은 아무도 사용할 수 없는 잠겨있는 미사용 도메인 네임으로 빠르게 채워질 것이다.
대신, 당신은 1년 또는 그 이상 도메인 네임을 사용할 수 있는 권리에 대한 비용을 지불할 수 있다. 당신은 당신의 권리를 갱신할 수 있고, 당신의 갱신이 다른 사람의 애플리케이션보다 우선순위를 갖게 된다. 그러나 이것이 도메인 이름을 소유한 것은 아니다.
레지스트리라는 회사는 도메인 이름 레지스트리를 사용하여 사용자를 도메인 이름에 연결하는 기술 및 관리 정보를 추적한다.
※ 참고 : 일부 도메인 이름의 경우, 추적을 담당하는 등록자가 아닐 수 있다. 예를 들어, .fire 아래의 모든 도메인 네임은 Amazon에서 관리한다.
2-2. Finding an avialable domain name
지정된 도메인 이름을 사용할 수 있는지 확인하려면,
- 도메인 네임 레지스터의 웹사이트로 이동해라. 그 사이트들은 대부분 도메인 네임을 사용할 수 있는지 알려주는 "whois" 서비스를 제공한다.
- 또는, 내장된 shell을 가지고 있는 시스템을 사용하는 경우, mozilla.org에 표시된 대로 whois명령을 입력해라
$ whois mozilla.org
Domain Name:MOZILLA.ORG
Domain ID: D1409563-LROR
Creation Date: 1998-01-24T05:00:00Z
Updated Date: 2013-12-08T01:16:57Z
Registry Expiry Date: 2015-01-23T05:00:00Z
Sponsoring Registrar:MarkMonitor Inc. (R37-LROR)
Sponsoring Registrar IANA ID: 292
WHOIS Server:
Referral URL:
Domain Status: clientDeleteProhibited
Domain Status: clientTransferProhibited
Domain Status: clientUpdateProhibited
Registrant ID:mmr-33684
Registrant Name:DNS Admin
Registrant Organization:Mozilla Foundation
Registrant Street: 650 Castro St Ste 300
Registrant City:Mountain View
Registrant State/Province:CA
Registrant Postal Code:94041
Registrant Country:US
Registrant Phone:+1.6509030800
Mozilla 재단이 이미 등록했기 때문에 mozilla.org를 등록할 수 없다.
이번에는 afunkydomainname.org을 등록할 수 있는지 확인해 보자.
$ whois afunkydomainname.org
NOT FOUND
이 도메인은 whois 데이터베이스에 존재하지 않기 때문에 등록을 요청할 수 있다. 좋은 소식이지~
2-3. Getting a domain name
프로세스는 매우 간단하다.
- 등록기관의 웹 사이트로 이동하라.
- 일반적으로, 눈에 띄는 "Get a domain name" 유도 문구가 있다. 그것을 클릭하라.
- 요구하는 모든 세부사항을 양식에 기입하라. 특히 원하는 도메인 네임의 철자가 틀리지 않았는지 확인하라. 일단 결제가 되면, 그때는 너무 늦는다!
- 도메인 네임이 제대로 등록되면 등록 담당자가 너에게 알려줄 것이다. 몇 시간 내에 모든 DNS 서버가 당신의 DNS 정보를 수신할 것이다.
※ 참고 : 이 과정에서 등록 담당자는 실제 주소를 묻는다. 일부 국가에서는 등록 대행자가 유효한 주소를 제공할 수 없는 경우 도메인을 강제로 닫을 수 있으므로 올바르게 입력해야 한다.
2-4. DNS refreshing
DNS 데이터 베이스는 전 세계의 모든 DNS 서버에 저장되며, 이러한 모든 서버는 "authoritative name servers(권한 있는 네임 서버)" 또는 "top-level DNS servers(최상위 DNS 서버)"라고 불리는 몇 개의 특수 서버를 가리키며, 이것들은 시스템을 관리하는 보스 서버와 같다.
등록기관이 주어진 도메인에 대한 정보를 생성하거나 업데이트할 때마다 모든 DNS 데이터베이스에서 그 정보를 새로고침해야 한다. 특정 도메인에 대해 알고 있는 각 DNS 서버는 자동으로 비활성화된 후 새로고침을 하기 전에 그 정보를 저장한다(DNS 서버는 권한 있는 서버에 쿼리하여 업데이트된 정보를 가져온다). 따라서 이 도메인 네임을 알고 있는 DNS 서버가 최신 정보를 가져오려면 시간이 조금 걸린다.
3. How does a DNS request work?
앞에서 살펴본 것처럼, 브라우저에 웹 페이지를 표시하려는 경우 IP주소 보다 도메인 네임을 입력하는 것이 더 쉽다. 프로세스를 살펴보자:
- 브라우저의 위치 표시줄에 mozilla.org를 입력하라.
- 브라우저는 로컬 DNS 캐시를 사용하여 이 도메인 네임으로 식별된 IP 주소를 컴퓨터가 이미 인식하고 있는지 요청한다. 컴퓨터가 그 IP 주소를 인식하고 있다면, 도메인 이름이 IP 주소로 변환되고 브라우저가 웹 서버와 콘텐츠를 협상한다. 끝.
- 컴퓨터가 mozilla.org 이름 뒤에 어떤 IP가 있는지 모른다면, DNS 서버에 문의한다. DNS 서버의 작업은 컴퓨터에게 어떤 IP 주소가 등록된 각 도메인 네임과 일치하는지 알려주는 것이다.
- 이제 컴퓨터는 요청된 IP주소를 알게 되었으므로 브라우저는 웹 서버와 컨텐츠를 협상할 수 있다.
Next Chapter : What is a web server?
See also next steps
how much it costs to build a website
출처 : https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_domain_name
'Computer Science > 인터넷' 카테고리의 다른 글
[Chapter 8] Web Server vs. WAS(Web Application Server) (0) | 2023.02.09 |
---|---|
[Chapter7] 웹 서버란 무엇인가? (0) | 2023.02.08 |
[Chapter5] URL은 무엇인가? (0) | 2023.01.24 |
[Chapter4] HTTP 정의 (0) | 2023.01.22 |
[Chapter3] 하이퍼링크는 무엇인가? (0) | 2023.01.19 |