DNS 記錄速成教程已出,開發者的你心動了嗎?

DNS即為Domain Name System的縮寫形式,就是所謂的域名系統,它是互聯網的一項服務。它作為將域名和IP地址相互映射的一個分佈式數據庫,能夠使人更方便地訪問互聯網。

DNS 记录速成教程已出,开发者的你心动了吗?

作者 | Chris Achard

出品 | CSDN(ID:CSDNnews)

你是否對DNS記錄、A記錄、CNAME、ALIAS感到迷惑不解?

我也是。

本文將為你獻上面向Web開發人員的DNS記錄速成課程。

DNS 记录速成教程已出,开发者的你心动了吗?

如果想訪問某個網站(比如www.example.com),你的計算機需要知道該服務器在互聯網的何處。

也就是說,它必須知道要與哪個IP地址對話。

計算機找到IP地址的方式就是域名系統(Domain Name System,即DNS)。

DNS 记录速成教程已出,开发者的你心动了吗?DNS 记录速成教程已出,开发者的你心动了吗?

在註冊域名時,你可以設置許多類型的DNS記錄。

每個記錄都包含一個Type(類型)、一個Host(主機)和一個Value(值)。

• “Type”是一些預定義的值。

• “Host”代表根(@)或子域名(www)。

• “Value”是IP或網址,或其他值。

DNS 记录速成教程已出,开发者的你心动了吗?DNS 记录速成教程已出,开发者的你心动了吗?

A記錄負責將子域名映射成IPv4地址。

最常使用A記錄的地方就是根(@),它可以告訴瀏覽器example.com的位置。

AAAA記錄的作用是一樣的,只不過用於IPv6。

DNS 记录速成教程已出,开发者的你心动了吗?DNS 记录速成教程已出,开发者的你心动了吗?

CNAME負責將子域名映射成另一個域名。

這可以是同一站點上的另一個子域名(例如將www轉發到根),也可以是應用所在的其他域名(例如heroku)。

DNS 记录速成教程已出,开发者的你心动了吗?DNS 记录速成教程已出,开发者的你心动了吗?

但CNAME有個問題!

一旦為子域(主機)定義CNAME記錄後,就無法為該子域名定義其他記錄。

為此,你無法在根級別使用CNAME(因為根上還需要定義其他類型的記錄)。

DNS 记录速成教程已出,开发者的你心动了吗?DNS 记录速成教程已出,开发者的你心动了吗?

為了解決這個問題,我們可以使用ALIAS(有時是ANAME)。

ALIAS的作用與CNAME相同,但它是非標準的DNS類型。

因此,你可以使用ALIAS將根域名(example.com)轉發到應用的服務器(example.herokudns.com)。

DNS 记录速成教程已出,开发者的你心动了吗?DNS 记录速成教程已出,开发者的你心动了吗?

如此一來,你就可以將將其他記錄放在根上,例如:

TXT記錄,可以為任何讀取DNS記錄的計算機提供額外的信息。

TXT記錄常常用於證明你擁有該域名,因為只有域名的所有者才能設置DNS記錄。

DNS 记录速成教程已出,开发者的你心动了吗?DNS 记录速成教程已出,开发者的你心动了吗?

還有:

MX記錄(電子郵件eXchange),可用於指定另一臺處理電子郵件的服務器(例如Google)。

MX記錄是唯一的,如果你需要設置多個服務器,那麼就必須給每個服務器設置“優先級”。

DNS 记录速成教程已出,开发者的你心动了吗?DNS 记录速成教程已出,开发者的你心动了吗?

還有許多其他的記錄類型,但上述這些記錄類型是你最經常設置的類型。

你還可以指定每條記錄的存活時間(Time To Live,TTL),它可以告訴DNS服務器你的DNS值需要保存多久。

DNS 记录速成教程已出,开发者的你心动了吗?DNS 记录速成教程已出,开发者的你心动了吗?

我們之所以設置存活時間,是因為新的域名記錄需要一定的時間才能“傳播”。

DNS服務器、你的ISP甚至你的計算機都會緩存DNS記錄,提供“舊”值,直到存活時間到期。

DNS 记录速成教程已出,开发者的你心动了吗?DNS 记录速成教程已出,开发者的你心动了吗?

總結

希望在下一次設置DNS時,你能夠掃清心中的疑惑!感謝您的閱讀!

原文:https://dev.to/chrisachard/dns-record-crash-course-for-web-developers-35hn

【End】


分享到:


相關文章: