寫給 Web 工程師的 DNS 知識入門

你是否是對 DNS 記錄的一些概念不太瞭解,好比 A 記錄、CNAME、AlIAS 等。。web

下面讓咱們一塊兒來學習一下~瀏覽器

1 簡介

爲了訪問 www.savokiss.com 這個域名,你的電腦須要知道服務器在網絡中的位置。緩存

這意味着:你的電腦必須知道 IP 地址才能跟服務器進行通訊。服務器

而域名系統 (Domain Name System) 正是爲解決這個問題而生。網絡

1-dns.jpg

2 記錄字段

當你註冊一個域名後,就能夠設置多種 DNS 記錄。每種記錄都有一個 Type,一個 Host 和一個 Valueapp

  • Type 是提早定義好的
  • Host 能夠填根域名 (@) 或者子域名(www)
  • Value 就是一個 IP 地址或者域名

2-record.png

3 A 記錄

A 記錄將一個子域名映射到一個 IPv4 地址。學習

它常被用於根域名映射,這樣瀏覽器就知道 savokiss.com 這個域名到底指向哪一個 IP 地址。網站

同理,AAAA 記錄則是用於 IPv6 的。spa

3-record-A.png

4 CNAME 記錄

CNAME 則是映射一個子域名到另一個域名。翻譯

它也能夠指向相同站點的另一個域名(如將 www 指向根域名)

或者另一個網站,如 heroku (一個國外的雲應用平臺)

4-CNAME.png

5 CNAME 的問題

CNAME 是有一些缺點的。

一旦你爲一個子域名定義了 CNAME 指向,就不能爲這個子域名再定義其餘類型的指向了。

正因爲此,你不能把 CNAME 定義在 根域名上。

5-CNAME-issues.png

6 ALIAS 記錄

爲了解決上面的問題,可使用 ALIAS

ALIAS 就像是 CNAME ,但卻不是一個標準的 DNS 類型。

你可使用 ALIAS 將根域名 savokiss.com 指向你的 app 服務器(如 savokiss.herokudns.com )同時也能夠對這個域名使用其餘記錄解析。

6-ALIAS.png

7 TXT 記錄

TXT 可讓其餘主機讀取額外的信息,就像留下了一條祕密消息那樣。

TXT 通常用來證實某個域名的全部權,由於只有域名的全部者才能夠修改 DNS 記錄。

7-TXT.png

8 MX 記錄

MX 記錄(即 Mail eXchange),是用來配置郵箱服務的。

MX 記錄是惟一的,你能夠設置多個服務器,而且爲每一個服務器配置優先級。

8-MX.png

9 TTL

還有許多其餘的記錄類型,可是上面的幾種是最經常使用的。

對於每種記錄類型,你均可以指定一個 TTL(即 Time To Live 存活時間)

這個時間告訴 DNS 服務器須要緩存這些記錄值多久。

9-TTL.png

10 DNS 緩存

TTL 基本上表明瞭從你修改一條記錄開始到終端用戶的生效時間(讓子彈飛一會~)。

DNS 服務器,ISP 供應商和你的電腦都會緩存 DNS 記錄,在 TTL 時間刷新前,緩存的都是上一次設置的記錄值。

10-cache.jpg

速查表

最後送上一張 DNS 速查表和 dnspod 上的記錄類型說明,但願本文對你理解 DNS 有幫助~

dns-cheatsheet.jpg

dnspod.png

參考文章

原文連接
DNS Record Crash Course for Web Developers

本文首發於:碼力全開(codingonfire)

每週更新一篇原創或翻譯文章~

codingonfire.jpg

相關文章
相關標籤/搜索