iT邦幫忙

2025 iThome 鐵人賽

DAY 7
1
佛心分享-IT 人自學之術

Code Review 我的青春:從『嗶』聲開啟我的軟體工程師之路系列 第 7

【Day 7】原來網址不是魔法!DNS 背後是查表的辛苦工程

  • 分享至 

  • xImage
  •  

原來網址不是魔法!DNS 背後是查表的辛苦工程

你今天 Google 了嗎?

「各位同學,從今天開始要嘗試用 Google 搜尋資料唷!」老師站在電腦教室前說著。

其實我最早接觸電腦時,用的並不是 Google,而是 Yahoo! 奇摩搜尋引擎的,因為當時,Yahoo! 幾乎是台灣最常用的搜尋引擎之一。

「Google 是什麼?」我心裡想著。

「大家打開瀏覽器,在瀏覽器列上面輸入 G...o...o...g...l...e...,接著輸入 .c...o...m,然後按下 Enter 鍵!」老師說著。

還記得當時的 Google 首頁非常單調簡潔,畫面上幾乎看不出有提供哪些服務。

Google 早期首頁(圖源網路)

相較於當時的 Yahoo! 奇摩網站,對比下,Google 感覺遜色很多。

Yahoo! 奇摩(圖源網路)

所以當時我其實還是主要用 Yahoo 來搜尋資料。那麼,我大概是從什麼時候開始改用 Google,並逐漸取代掉 Yahoo 呢?

我記得大概是在國中時期開始的。那時候同學們陸續改用 Gmail 信箱,為了跟上大家的腳步,我也開始註冊 Gmail,接著就慢慢習慣改用 Google 搜尋引擎了。

還記得老師當時說過一句話:

「以後 Google 應該會成為大家主要用的搜尋引擎,所以你們一定要學會怎麼使用 Google 喔。」

不得不說,老師當時的眼光真的滿準的,如果那時有錢買股票的話,我現在應該發財致富了吧。(笑)。

Domain(網域)是什麼?

為了讓你更容易理解這個抽象的網路概念,這邊用生活中的例子來舉例說明 Domain(網域名稱)。

想像一下,你要寄信或者要找一個地方的位置,通常會使用以下描述:

「台北市信義區松山路 123 號」

這就是我們熟悉的地址,很容易記得,也很容易描述。

但實際上這個地址對地圖服務來說,會轉換成一組精準的經緯度,例如:

「25.04740930776882, 121.57805454648769」

這串數字雖然能準確標示位置,但你記得住嗎?反正我是絕對記不住。畢竟我們人腦比較擅長記有意義的資訊,而不是一長串毫無意義的數字。

如果我們將這件事情放到網路世界上也是類似的狀況,以 Google 來講,我們都知道它的 Domain 是 google.com,但你知道它的 IP 是什麼嗎?

大部分人可能都不知道,所以這裡要教大家一個小技巧,讓你學會如何查詢網域(Domain)的 IP 位址。

首先,你可以試著打開終端機(命令提示字元)並輸入以下指令來:

nslookup www.google.com

Tip
這個指令只是用來查詢域名的 IP 地址,所以不用擔心會影響到你的電腦。

你會看到以下結果:

Server: 192.168.50.1
Address: 192.168.50.1#53

Non-authoritative answer:
Name: www.google.com
Address: 142.250.66.68

nslookup

Note
你這邊可能會發現 Address 不是 142.250.66.68,而是其他的 IP,這是因為 Google 在全球有很多節點,會根據你的地理位置來回傳不同的 IP 位址,所謂的節點意思是 Google 在不同地區的伺服器。

那我們該如何看這些資訊呢?別擔心,這邊我幫你整理了表格:

顯示內容 分類 說明
Server: 192.168.50.1 查詢伺服器 你的電腦使用的 DNS 伺服器,通常是家用路由器的 IP。
Address: 192.168.50.1#53 查詢伺服器 同上;#53 表示使用的是 DNS 的預設通訊埠:Port 53。
Non-authoritative answer: 回應性質 表示這個 IP 資訊並非來自 Google 的權威 DNS,而是經由中繼或快取伺服器提供的非官方資料。
Name: www.google.com 查詢名稱 你查詢的網域名稱(domain name)。
Address: 142.250.66.68 查詢結果 www.google.com 對應的 IP 位址;這是 Google 的一個節點(可能因地區而異)。

所以我們為什麼需要 Domain 呢?你可以試想,如果今天 Google 的 IP 是一串不好記憶的數字,例如:

142.250.66.68

那麼你要怎麼記住它呢?難道要把這串數字背起來嗎?又或者如果今天是 IPv6:

2404:6800:4012:1::200e

你可以把握記住這些數字嗎?我想大部分人應該都不行,至少我是不行的,因此才需要有 Domain 來輔助我們記憶。

透過上面的說明,我們可以知道一個好的網域會具備以下特性:

  • 容易被記憶
  • 與品牌或服務相關
  • 簡短且易於輸入

最典型的例子就是 Google、Facebook、YouTube 等等。好的網域對品牌建立和行銷非常重要,但也因為如此,優質的網域通常難以取得,價格也比較高,一年可能動輒幾千甚至上萬元。不過對品牌商來說,為了形象和行銷價值,這筆錢往往非常值得投資。

斥資購買(圖源網路)

基於這些原因,網域名稱的取得通常採取「先到先得」的原則。如果你想要的網域名稱已經被別人註冊了,就無法再使用相同名稱,只能改用其他名稱,或是嘗試與現有持有人協商購買。

再者這種狀況下,就會衍生出一種特殊的商業行為,也就是人稱的「網域蟑螂(Domain Squatter)」,又或者是「網域搶注者(Cybersquatting)」(底下將泛指為網域蟑螂)。

網域蟑螂是指那些專門註冊大量網域名稱的人,然後再將這些網域名稱以高價轉售給有需要的人,這些人通常會註冊大量「熱門或容易混淆」的網域名稱,放著不經營,或掛上停放網頁廣告,等待有需求的人出高價購買。

「這些網域蟑螂不算違法嗎?」你可能會問我這個問題。

答案是沒有違法,因為網域名稱本身並沒有版權或商標的保護,只要你有錢就可以註冊任何你想要的網域名稱。

講到這邊就要再額外提一件事情,網域購買的方式基本上是透過「網域註冊商(Domain Registrar)」來購買,例如:

這些註冊商會向 ICANN(Internet Corporation for Assigned Names and Numbers)申請網域名稱,再將其轉售給一般使用者。不過需要注意的是,當你購買網域時,並不是取得它的所有權,而是取得使用權。這個使用權通常是以「」為單位來計算的。

一個網域一次最多可以註冊 10 年,但可以持續續約,所以理論上只要不間斷續約,就能一直持有。反之,如果沒有續約,網域就會被釋放出來,讓其他人重新註冊。這時候所謂的「網域蟑螂」就可能趁機搶注,並以高價轉售給原本的使用者。

看到這裡,可能有人也開始想試著購買自己的網域名稱了。那麼這裡我快速總結幾個重點,幫助你避免踩雷:

項目 說明
購買管道 網域必須透過 網域註冊商 (Domain Registrar) 購買,例如 Namecheap、GoDaddy、Google Domains 等。
使用權性質 網域並不是一次性買斷,而是 以年為單位計算使用權。
最長持有期限 一次最多可註冊 10 年,之後必須續約才能繼續使用。
續約機制 若未續約,網域會進入 寬限期 (Grace Period)贖回期 (Redemption Period) → 最終釋出供他人購買。
續約費用 需注意不同註冊商的收費模式,可能 首年便宜、續約變貴(例如首年 USD 10,續約 USD 20+)。
網域品質 好的網域應該具備:容易記憶、與品牌/服務相關、簡短、易於輸入、不易拼錯。
購買已註冊網域 如果目標網域已被註冊,需與持有人協商,可能透過 域名交易平台 (Domain Marketplace),價格通常較高。
頂級網域 (TLD) 網域結尾稱為 TLD,例如 .com.tw.org。不同 TLD 的價格、續約政策與可用性差異很大。
隱私保護 購買網域時建議額外加購 WHOIS 隱私保護,避免個人資料(如姓名、電話、Email)公開。
DNS 管理 註冊網域後,需要設定 DNS 記錄 (A、CNAME、MX、TXT...),才能讓網站與 Email 正常運作。

上面表格中,有一個「WHOIS 隱私保護」我要特別拉出來講一下,因為這件事對於個人資料的保護非常重要。

在購買網域之前,務必要確認該網域商是否提供 WHOIS 隱私保護服務。這項服務能隱藏你的個人資訊,避免被公開在 WHOIS 資料庫中。若沒有啟用這個服務,你的姓名、電話、Email 等資訊就會完全公開,任何人都能查到,對個人隱私相當不安全。

「為什麼 WHOIS 會公開個人資訊?以及會公開哪些資料?」想也知道你會好奇這個問題。

簡單來講,這個問題是因為『WHOIS 系統的設計』導致,在 ICANN (網際網路名稱與數字位址分配機構)有明確規定,所有網域註冊商都必須提供註冊者的個人資訊。是為了讓網域管理更具透明度,並防止濫用(例如詐騙、垃圾郵件)。

Note
部分地區因 GDPR,WHOIS 資料可能自動隱藏(例如 .eu 網域),但並非所有 TLD 都適用,.com、.tw 等依然可能公開個資。

如果你的資料沒有被保護的話,你可能會在 WHOIS 資料庫中看到以下資訊:

Domain Name: example.com
Registrar: XYZ Registrar, Inc.
Registrant Name: Ray Chen
Registrant Organization: 個人
Registrant Street: Taipei City, Xinyi District, Songshan Rd. 123
Registrant Phone: +886.912345678
Registrant Email: ray@example.com

也正因為你的個人資料相當重要,所以我才會建議你購買 WHOIS 隱私保護服務,用來隱藏個資,避免被公開。下面我也附上幾篇自己寫過的文章,提供你參考:

希望以上的說明可以讓你在購買網域之前,少踩一點雷點~

DNS 又是什麼?

最後的最後,來簡單補一個東西,前面有提到一句話:

「你的電腦使用的 DNS 伺服器,通常是家用路由器的 IP。」

這時候大家可能會有這幾個問題:

「DNS 是什麼?」

「原來我家有 DNS 啊!」

沒錯,其實你每天都在用它,只是你不知道而已,但這並不是真的 DNS 伺服器。

DNS(Domain Name System)就像網路的電話簿,負責把人類容易記住的網址(如 Google.com),轉換成電腦能理解的 IP 位址,是整個網際網路中非常重要的基礎設施。

沒有 DNS,你就必須用一長串數字來瀏覽網站,這就像是你必須用經緯度才能叫外送一樣痛苦。

家中的路由器,並不是真的 DNS 伺服器,而是 DNS 的中繼器。

當你在瀏覽器輸入 Domain 並送出後,你家的路由器會將這個 Domain 送到真正的 DNS 伺服器,然後 DNS 伺服器會回傳對應的 IP 位址給路由器,最後由路由器再將這個 IP 位址回傳給你的電腦。

這個動作稱為「DNS 轉送(forwarding)」。透過這樣的設計,你家裡的所有設備(電腦、手機、平板)只需要向路由器查詢 DNS,不必每台裝置都單獨設定,讓上網流程更快、更順暢。

這樣的設計也能讓路由器啟用 DNS 快取(cache),避免每次都重新查詢 DNS 伺服器,進而加快上網速度。

所以整個過程大致上如下:

瀏覽器 → 路由器 DNS → ISP DNS → 根 DNS → TLD DNS → 權威 DNS → 回傳 IP

這就是所謂的「DNS 背後的查表工程」,每當你輸入一個網址,其實都可能經歷這一連串的層層查詢。

結論

不知道大家第一個接觸的搜尋引擎是什麼呢?

聽說只要知道這個答案,就可以大致上區分出年齡層了 XD

同步更新

本文將同步更新至以下網站:


上一篇
【Day 6】第一次註冊 Email 被「小老鼠」搞瘋!@符號與 Ray Tomlinson 的故事
系列文
Code Review 我的青春:從『嗶』聲開啟我的軟體工程師之路7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言