2.1 · URL 與 DNS
目標: 解剖一個 URL 並描述 DNS 如何把名稱轉成 IP 地址。
URL 解剖
https:// www.example.com :443 /path/to/page ?id=123 #section
└──┬──┘ └──────┬───────┘ └┬─┘ └────┬─────┘ └──┬──┘ └──┬───┘
協定 主機名 端口 路徑 查詢 片段1
2
3
2
3
| 部分 | 用途 | 例子 |
|---|---|---|
| 協定 Scheme | 協定 | http、https、ftp |
| 主機名 Hostname | 服務器名稱 | www.example.com |
| 端口 Port | 服務在服務器上的數字地址 | :80、:443(HTTP/HTTPS 默認) |
| 路徑 Path | 服務器上的位置 | /index.html |
| 查詢 Query | 參數 | ?id=42&sort=desc |
| 片段 Fragment | 頁面內位置 | #chapter-3 |
DNS 做什麼
DNS(域名系統)是互聯網的電話簿。它把 www.example.com 這種人類友好的名稱翻成 93.184.216.34 這類 IP 地址。
為何需要:人記名字;路由器路由到 IP 地址。
一次 DNS 查詢,逐步看
1. 瀏覽器問:「www.example.com 的 IP 是什麼?」
2. OS 問其配置的 DNS 解析器(常是路由器或 ISP)。
3. 解析器若已快取 → 立刻返回。
4. 若沒有,向根名服務器、然後 .com 名服務器、
再 example.com 權威名服務器遞歸查詢。
5. IP 被返回並快取 TTL(生存時間)那麼久。
6. 瀏覽器對該 IP 打開 TCP/HTTP 連接。1
2
3
4
5
6
7
2
3
4
5
6
7
常見 DNS 記錄類型
| 記錄 | 含義 |
|---|---|
| A | 主機名 → IPv4 地址 |
| AAAA | 主機名 → IPv6 地址 |
| CNAME | 別名 |
| MX | 郵件交換(郵件去哪裏) |
| NS | 域的權威名服務器 |
| TXT | 自由文本(用於 SPF、驗證等) |
HKEAA 不要求記錄細節 —— 只要 DNS 的目的。
考試式題目
題(4 分): 描述什麼是 DNS,並概述用户在瀏覽器輸入
www.hkeaa.edu.hk時發生的步驟。
參考答案:
DNS(Domain Name System)是把人可讀域名翻成 IP 地址的分佈式目錄服務。
- 用户輸入
www.hkeaa.edu.hk。 - 瀏覽器請 OS 的 DNS 解析器翻該名。
- 解析器查快取;未命中則遞歸查詢權威名服務器(根 →
.hk→edu.hk→hkeaa.edu.hk)。 - IP 地址被返回並快取。
- 瀏覽器對該 IP 在端口 443 (HTTPS) 打開 TCP 連接併發出 HTTP 請求。
關鍵要點
- URL = 協定 + 主機 + 端口 + 路徑 + 查詢 + 片段。
- DNS 把名稱變 IP。
➡️ 下一節:2.2 HTTP vs HTTPS