什麼是域名?

預備知識 首先,你需要了解網際網路如何工作,並理解URL 是什麼
目標 瞭解域名是什麼、它們如何工作以及為什麼它們很重要。

總結

域名是網際網路基礎設施的關鍵組成部分。它們為網際網路上的任何 Web 伺服器提供了一個人類可讀的地址。

任何連線到網際網路的計算機都可以透過一個公共的IP 地址進行訪問,無論是 IPv4 地址(例如,192.0.2.172)還是 IPv6 地址(例如,2001:db8:8b73:0000:0000:8a2e:0370:1337)。

計算機可以輕鬆處理這些地址,但人們很難弄清楚是誰在執行伺服器或網站提供什麼服務。IP 地址很難記住,並且可能會隨著時間的推移而改變。

為了解決所有這些問題,我們使用稱為域名的、人類可讀的地址。

深入探討

域名結構

域名具有一個簡單的結構,由幾個部分組成(可能只有一個部分,兩個、三個……),它們由點分隔,並從右到左讀取

Anatomy of the MDN domain name

這些部分中的每一個都提供了關於整個域名的特定資訊。

頂級域名 (TLD)

頂級域名告訴使用者域名背後服務的總體用途。最通用的頂級域名(.com.org.net)不要求 Web 服務滿足任何特定標準,但某些頂級域名會強制執行更嚴格的策略,以便更清楚地瞭解其用途。例如:

  • 本地頂級域名,如 .us.fr.se,可能會要求服務以特定語言提供或託管在特定國家/地區——它們旨在指示特定語言或國家/地區的資源。
  • 包含 .gov 的頂級域名僅允許政府部門使用。
  • .edu 頂級域名僅供教育和學術機構使用。

頂級域名可以包含特殊字元和拉丁字元。頂級域名的最大長度為 63 個字元,但大多數約為 2-3 個字元。

頂級域名的完整列表由 ICANN 維護

標籤(或元件)

標籤是緊跟在頂級域名後面的部分。標籤是區分大小寫的字元序列,長度從一個到六十三個字元不等,僅包含字母 AZ、數字 09 以及 '-' 字元(該字元不能是標籤的第一個或最後一個字元)。a97hello-strange-person-16-how-are-you 都是有效標籤的示例。

緊鄰頂級域名的標籤也稱為二級域名 (SLD)。

一個域名可以有多個標籤(或元件)。形成域名不一定非要 3 個標籤。例如,informatics.ed.ac.uk 是一個有效的域名。對於您控制的任何域名(例如,mozilla.org),您可以建立具有不同內容的“子域名”,例如 developer.mozilla.orgsupport.mozilla.orgbugzilla.mozilla.org

購買域名

誰擁有域名?

你不能“購買域名”。這是為了讓未使用的域名最終可以被其他人再次使用。如果每個域名都被購買了,網路很快就會充斥著未被任何人使用的、被鎖定的域名。

相反,你需要支付一年或多年的使用域名的權利。你可以續訂你的權利,並且你的續訂優先於其他人申請。但你永遠不擁有域名。

稱為註冊商的公司使用域名註冊中心來跟蹤連線你與你的域名的技術和管理資訊。

注意:對於某些域名,可能不是註冊商負責跟蹤。例如,.fire 下的每個域名都由 Amazon 管理。

查詢可用域名

要了解給定的域名是否可用,請執行以下操作:

  • 訪問域名註冊商的網站。大多數註冊商都提供“whois”服務,可以告訴你域名是否可用。

  • 或者,如果你使用帶有內建 shell 的系統,請在其中鍵入 whois 命令,如下所示,以 mozilla.org 為例:

    bash
    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.org,因為 Mozilla Foundation 已經註冊了它。

另一方面,讓我們看看我是否可以註冊 afunkydomainname.org

bash
whois afunkydomainname.org

這將輸出以下內容(截至撰寫本文時):

NOT FOUND

如你所見,該域名不存在於 whois 資料庫中,因此我們可以申請註冊它。這點很有用!

獲取域名

過程相當簡單:

  1. 訪問註冊商的網站。
  2. 通常會有一個醒目的“獲取域名”號召性用語。點選它。
  3. 用所有必需的詳細資訊填寫表格。特別是,請確保你沒有拼錯你想要的域名。一旦支付,就太晚了!
  4. 註冊商會讓你知道何時域名已成功註冊。幾小時內,所有 DNS 伺服器都會收到你的 DNS 資訊。

注意:在此過程中,註冊商會要求你的真實地址。請確保你正確填寫,因為在某些國家/地區,如果無法提供有效地址,註冊商可能會被迫關閉該域名。

DNS 重新整理

DNS 資料庫儲存在世界各地的每個 DNS 伺服器上,所有這些伺服器都指向一些特殊的伺服器,稱為“權威名稱伺服器”或“頂級 DNS 伺服器”——它們就像管理系統的老闆伺服器。

每當你的註冊商建立或更新某個域名的資訊時,該資訊必須在每個 DNS 資料庫中進行重新整理。每個知道該域名的 DNS 伺服器都會儲存該資訊一段時間,然後它會自動失效並被重新整理(DNS 伺服器會查詢權威伺服器並從其獲取更新後的資訊)。因此,知道該域名的 DNS 伺服器需要一些時間才能獲取最新資訊。

DNS 請求是如何工作的?

正如我們已經看到的,當你想在瀏覽器中顯示網頁時,輸入域名比輸入 IP 地址更方便。讓我們看看這個過程:

  1. 在瀏覽器的位址列中輸入 mozilla.org
  2. 你的瀏覽器會詢問你的計算機是否已經識別該域名對應的 IP 地址(使用本地 DNS 快取)。如果已識別,則名稱將轉換為 IP 地址,然後瀏覽器與 Web 伺服器協商內容。故事結束。
  3. 如果你的計算機不知道 mozilla.org 名稱背後是哪個 IP,它會繼續詢問 DNS 伺服器,DNS 伺服器的職責正是告訴你的計算機哪個 IP 地址匹配每個已註冊的域名。
  4. 現在計算機知道了請求的 IP 地址,你的瀏覽器就可以與 Web 伺服器協商內容了。

Explanation of the steps needed to obtain the result to a DNS request

後續步驟

好的,我們討論了很多關於過程和架構的內容。該繼續前進。

  • 如果你想動手實踐,現在是深入研究設計並探索網頁結構的好時機。
  • 還值得注意的是,構建網站的某些方面需要花錢。請參閱構建網站需要多少費用
  • 或者在 Wikipedia 上閱讀更多關於域名的資訊。
  • DNS 如何工作》教程有一個有趣且生動的解釋。