1. 漫畫開場
漫畫文字版(畫面及對白)
| 格 | 畫面 | 對白 |
|---|---|---|
| 1 | 阿麥在網址列打上 https://example.com/,手指正要按 Enter;小比背好背包。 |
字幕:「最後一課:一起跟小比走完整趟旅程!」 阿麥:「按 Enter 囉!」 小比:「背包執好,出發囉!」 |
| 2 | 查查博士遞出答案卡 example.com → 192.0.2.80;八爪把小比送往路路的連接埠。 |
字幕:「先查名字,再在家中 LAN(區域網絡)裡送到路路那裡。」 查查博士:「讓我查一查…… 192.0.2.80!」八爪:「收到!馬上送到正確的連接埠!」 |
| 3 | 路路把寄件人改成 203.0.113.1;小比頭上有鎖頭,代表 HTTPS(加密網頁傳輸協定),沿路經過幾部 Router(路由器),走向伺服器大廈 192.0.2.80。 |
路路:「這邊走,這條路最快!」 字幕:「經過 NAT(網絡位址轉換)、一站又一站的 Router,再加上 HTTPS 加密保護。」 |
| 4 | 阿麥的屏幕出現網頁,網址列有鎖頭;全體角色歡呼,阿帕教授拿著卷軸。 | 字幕:「網頁出現了!全部角色都出了一分力。」 阿帕教授:「在很久很久以前……發電報要一個字一個字地敲。今天,整個網頁只需一秒!」 阿麥:「看看我的網頁!」 |
2. 重點概念
打開一個網站,看似只是一秒內的事,其實前九課學過的東西全部都出了場:
先用 Wi-Fi(無線網絡)接上網絡,DHCP(動態主機設定協定)派位址;DNS(網域名稱系統)把名字變成 IP Address(網絡位址);TCP(傳輸控制協定)握手建立連線;HTTPS 加密;最後瀏覽器用 HTTP(超文本傳輸協定)向伺服器要網頁,再把網頁畫在屏幕上。
沿途還有 Switch(交換器)、Router 和 NAT 一起幫忙送貨。
3. 看深一點
想看動畫詳解? 網絡小故事 16. 網絡醫生出診:ICMP、Ping 與 Traceroute、17. 封了口的信:HTTPS 與 TLS(傳輸層安全)
先讀懂網址:URL(網址)
你在網址列打的 https://example.com/,叫 URL(網址),是網上資源的完整地址。它有三部分:
| 部分 | 例子 | 意思 |
|---|---|---|
| Scheme(協定類型) | https |
用什麼方法取資料;https 表示加密,預設 Port(連接埠) 443 |
| 主機名稱 | example.com |
去哪一部伺服器,要靠 DNS 查出 IP Address |
| 路徑 | / |
伺服器上的哪一頁;/ 表示首頁 |
完整旅程:八個步驟
以下是阿麥在家打開 https://example.com/ 的完整過程。每一步都標明在哪一課學過。
第 1 步:接上 Wi-Fi(第 6 課) 阿麥的電腦找到家中的 SSID(無線網絡名稱),輸入密碼,和 Access Point(無線基地台)連接。空氣中傳送的資料會被加密,例如用 WPA(Wi-Fi 保護存取)的 WPA2 或 WPA3,鄰居就算收到訊號也看不懂。
第 2 步:DHCP 派位址(第 8 課)
阿麥廣播 Discover,路路回覆 Offer……四步 DORA 之後,阿麥得到:IP Address 192.168.1.10、Default Gateway(預設閘道) 192.168.1.1、DNS 伺服器 192.168.1.1。
第 3 步:ARP(位址解析協定)找路路的名牌(第 6 課)
阿麥之後要送的資料,都要先交給 192.168.1.1。他用 ARP 廣播問:「誰是 192.168.1.1?」路路回覆自己的 MAC Address(硬體位址) 00:00:5E:00:53:FE。
第 4 步:DNS 查名字(第 7 課)
瀏覽器先看看 Cache(快取)有沒有 example.com 的答案。沒有的話,就問 DNS 伺服器;經過 Root Server(根伺服器)、.com TLD(頂級網域)伺服器和 Authoritative Server(權威伺服器),得到答案:192.0.2.80。這個查詢用 UDP(用戶資料包協定) Port 53 送出。
第 5 步:TCP 三次握手(第 9 課)
阿麥發現 192.0.2.80 不在自己的 Subnet(子網絡),於是把封包交給 Default Gateway(第 4 課)。他向 192.0.2.80:443 送出 SYN,收到 SYN-ACK,再回覆 ACK(確認),連線建立。
一路上:
- 八爪(Switch)看 MAC Address,把 Frame(訊框)送到路路(第 3、6 課)。
- 路路做 NAT,把寄件人
192.168.1.10:50000改成203.0.113.1:40001(第 8 課)。 - 互聯網上的 Router 一站一站轉送,每站換一次 Frame、TTL(存活時間)減 1,IP 收件人一直是
192.0.2.80(第 5 課)。
第 6 步:TLS 加密握手(本課)
因為網址是 https,雙方要先談好怎樣加密,這一步用 TLS(傳輸層安全)。伺服器會出示一張 Digital Certificate(數碼證書),證明「我真的是 example.com」。瀏覽器核實無誤後,雙方協議出一條只有彼此知道的鑰匙,之後的內容全部加密。網址列旁的鎖頭,就是這一步成功的標記。
第 7 步:HTTP 要網頁(本課)
瀏覽器透過已加密的連線,送出一個 HTTP 請求:「GET /,請給我首頁。」伺服器回覆:「200 OK」,後面附上網頁內容。網頁是用 HTML(超文本標記語言)寫的。
第 8 步:瀏覽器畫出網頁 瀏覽器讀 HTML,發現還需要圖片、樣式和程式,於是再向伺服器要這些檔案,通常會沿用已建立的連線。全部到齊後,網頁就完整地出現在屏幕上。
圖解:上方是路線圖,虛線框內是阿麥家中 LAN,右邊是互聯網;下方是八個步驟,每一步旁邊標示負責的角色和在哪一課學過。
HTTP(超文本傳輸協定)的回覆號碼
伺服器每次回覆,都會附上一個三位數的狀態碼。你可能見過其中一些:
| 狀態碼 | 意思 |
|---|---|
200 OK |
成功,網頁在這裡 |
301/302 |
網頁搬了家,請去新地址 |
404 Not Found |
找不到這一頁 |
500 |
伺服器自己出了問題 |
HTTP 和 HTTPS 有什麼分別?
| HTTP | HTTPS(加密網頁傳輸協定) | |
|---|---|---|
| 預設 Port | 80 | 443 |
| 內容加密 | 沒有,途經的人都看得到 | 有,用 TLS 加密 |
| 證明伺服器身份 | 不能 | 可以,靠 Digital Certificate |
| 比喻 | 明信片 | 封了口的信封 |
今天絕大部分網站都用 HTTPS。如果瀏覽器提醒你「不安全」,就不要在那個網頁輸入密碼或信用卡資料。
全課程總複習
| 旅程中的工作 | 負責的技術 | 角色 | 課程 |
|---|---|---|---|
| 資料切成小份,一層包一層 | Packet(封包)、Encapsulation(封裝) | 小比 | 第 5 課 |
| 在 LAN 內認出誰是誰 | MAC Address | 阿麥 | 第 3 課 |
| 在 LAN 內送貨 | Switch | 八爪 | 第 6 課 |
| 由 IP Address 找 MAC Address | ARP | 阿麥、路路 | 第 6 課 |
| 派位址和設定 | DHCP | 路路 | 第 8 課 |
| 把名字變成位址 | DNS | 查查博士 | 第 7 課 |
| 說明「你在哪裡」 | IP Address | 阿麥、路路 | 第 4 課 |
| 在網絡之間指路 | Router、Routing Table(路由表) | 路路 | 第 6 課 |
| 全家共用一個 Public IP(公共位址) | NAT | 路路 | 第 8 課 |
| 保證送達、找對程式 | TCP、Port | 小比 | 第 9 課 |
| 這一切從哪裡來 | ARPANET、TCP/IP | 阿帕教授 | 第 2 課 |
4. 動手試試
任務一:看看鎖頭後面的證書
- 用電腦瀏覽器打開任何一個
https網站。 - 按網址列旁邊的鎖頭(或設定圖示),選「連線是安全的」→「憑證有效」(不同瀏覽器字眼略有不同)。
- 看看證書是發給哪個網域、由誰簽發、何時到期。
任務二:用開發人員工具偷看請求
- 在電腦的 Chrome、Edge 或 Firefox 按
F12(Mac 按Cmd + Option + I),選「Network(網絡)」分頁。 - 保持工具打開,重新載入網頁。
- 你會見到一長串請求:第一行通常是網頁本身,之後是圖片、樣式和程式。
- 看看「Status」一欄,大部分是不是
200?一個網頁要幾多個請求?
這些工具只會讓你看自己瀏覽器收發了什麼,不會改變網站。
小互動
把旅程排好次序
電腦剛剛開機,什麼記錄都沒有。把打開 https://example.com/ 的八個步驟排好次序。
- DNS:查出 example.com 是 192.0.2.80
- HTTP:送出「GET /」,收到「200 OK」
- Wi-Fi:連接 Access Point
- TLS:核實 Digital Certificate,建立加密
- ARP:找出 192.168.1.1 的 MAC Address
- 瀏覽器畫出網頁
- DHCP:取得 192.168.1.10
- TCP:和 192.0.2.80:443 三次握手
5. 比喻的極限
- 不是每次都要走足八步。 Wi-Fi 和 DHCP 通常早已完成;ARP 和 DNS 的答案多數已在 Cache 裡;所以平日開網頁,往往由 TCP 那一步開始,甚至沿用舊連線。
- 小比不是只有一個。 一個網頁往往要幾十個甚至幾百個請求,每個請求和回覆都由很多個封包組成,可能同時由幾條連線送來。
- 網頁不一定來自同一部伺服器。 圖片、影片和廣告常常來自其他網域,每個網域都要再查 DNS、再建立連線。
- 鎖頭不代表網站可信。 它只證明「連線有加密、伺服器真的是這個網域」;騙子也可以為自己的網域申請證書,所以仍然要看清楚網址。
- 新一代的 HTTP/3 不用 TCP。 它用建立在 UDP 之上的 QUIC,把第 5 步和第 6 步合併,令網頁更快打開。
6. 小測驗
7. 重點筆記
- URL(網址)由 Scheme、主機名稱和路徑組成,例如
https://example.com/。 - 打開網站的八步:Wi-Fi → DHCP → ARP → DNS → TCP 三次握手 → TLS 加密 → HTTP 請求 → 瀏覽器畫出網頁。
- HTTPS 用 TLS(傳輸層安全)加密,並用 Digital Certificate(數碼證書)證明伺服器身份;鎖頭不代表網站內容可信。
- HTTP 回覆附有狀態碼:
200成功,404找不到。 - 前九課的每一個角色,都在這一秒之內出了場。
下一站
恭喜你完成全部十課!你已經由一個名牌,一路走到整個互聯網。
想知道更多?去 看八爪、路路和新朋友盾盾,怎樣解決真實網絡中的各種難題。