
DNS 是什麼?輸入網址到網站打開之間發生什麼事
從輸入網址到網站打開,中間發生了什麼事
網際網路上的每一台主機,實際上是用 IP 位址在互相溝通的,例如 203.0.113.25。但要人類記住一串數字太困難,所以有了網域名稱這層對照——DNS(Domain Name System,網域名稱系統)就是負責把網址翻譯成 IP 位址的服務。
常見的比喻是「網際網路的電話簿」:您記得的是「某某公司」,但要撥出去還是得查到號碼。DNS 就是那本簿子。
查詢的五個階段
當您在瀏覽器輸入一個網址,系統會依序往下找,任何一層找到答案就停止:
- 瀏覽器快取——剛剛才連過的網站,瀏覽器自己記著
- 作業系統快取與 hosts 檔——電腦本機的紀錄。hosts 檔是人為指定的對照表,優先權高於後面所有階段,可參考我們既有的 hosts 檔修改教學。
- 遞迴解析伺服器——通常是您的網路業者(如中華電信)提供的 DNS,或您自行指定的公用 DNS。它會代替您去問後面的伺服器
- 根伺服器與頂級網域伺服器——根伺服器告訴解析器「.tw 的資料要去問誰」,頂級網域伺服器再告訴它「example.com.tw 的資料要去問誰」
- 權威名稱伺服器——這裡才是真正存放您網域各項記錄的地方,回傳最終答案
整個過程通常在數十毫秒內完成,而且因為每一層都有快取,大多數查詢根本走不到第四、五層。
為什麼要理解這件事
對網站架設來說,理解 DNS 可以解決三類最常見的困惑:
一、為什麼改了設定沒有馬上生效
因為上面第一到第三層都有快取。您改的是第五層的資料,但世界各地的解析器可能還握著舊答案,要等快取到期才會重新來問。這就是所謂的「DNS 擴散」,詳見改了 DNS 要多久才生效。
二、為什麼有人看得到新網站、有人還是舊的
不同地區、不同網路業者的解析器快取到期時間不一致,所以會出現同一時間不同人看到不同版本的情況。這是正常現象,不是網站壞掉。
三、為什麼網站好好的,信箱卻收不到信
因為網站與信箱走的是不同的記錄——網站看 A 記錄,郵件看 MX 記錄。兩者互不影響,可以一個正常一個故障。這也是為什麼換主機時只顧著測網站、忘記測信箱,是很常見的失誤。
誰在管理您的 DNS
這是實務上最容易搞混的一點。管理 DNS 的地方有三種可能:
| 管理位置 | 什麼情況下是這樣 | 去哪裡改設定 |
|---|---|---|
| 網域註冊商 | 維持註冊時的預設值 | 註冊商後台 |
| 主機商 | 名稱伺服器已改指向主機商 | 主機控制台(如 cPanel) |
| 第三方 DNS 服務 | 為了 CDN 或進階功能而指向第三方 | 該服務的控制台 |
判斷方法:查詢您網域的 NS(Name Server)記錄,看它指向誰,那裡就是實際生效的管理位置。在錯誤的地方修改記錄,是新手最常見的問題——設定看起來存好了,實際上完全沒作用。
常見名詞對照
- Zone(區域)——一個網域的所有 DNS 記錄集合
- Record(記錄)——區域內的單筆設定,例如一筆 A 記錄
- NS(名稱伺服器)——指明這個網域的權威資料放在哪裡
- TTL——這筆記錄可以被快取多久,單位為秒
- 解析(Resolve)——把網址查成 IP 的動作
- 擴散(Propagation)——變更後等待各地快取更新的過程
公用 DNS 是什麼,該換嗎
除了網路業者提供的 DNS,也可以在電腦或路由器上改用公用 DNS 服務。可能的好處是解析速度較快、或避開某些業者的異常。
但要注意:換公用 DNS 只影響「您這台電腦」查詢的速度與結果,不會改變您網站在別人眼中的樣子。有些人誤以為換了 DNS 就能讓自己的網站變快,這是兩回事——網站速度取決於主機效能與網頁本身,DNS 只影響最初查詢那幾十毫秒。
接下來
理解了整體運作後,下一步是認識實際會用到的記錄類型。網站架設會碰到的主要有 A、CNAME、MX、TXT 四種,各自負責網站、別名、郵件與驗證,詳見DNS 記錄類型完全解說。