電腦網路:從封包到 HTTPS
從分層與封包學到 IP、TCP、DNS、HTTP 與 HTTPS,用一次打開商品頁的請求貫穿全課,每個觀念都抓封包親眼看到,準備好面試會追問的原理。
10 章・55 單元・約 12 小時 30 分鐘
課程介紹
這門課從網路為什麼要分層、一個請求被包成幾層開始,一路學到 IP 與路由、TCP 的握手揮手與可靠傳輸、DNS、HTTP、HTTPS 與常見的網路攻擊,最後把全部串成面試必考的「輸入網址到看到網頁」,再加上反向代理、負載平衡、真實 IP 與網路問題的排查思路。
全課用同一個情境:顧客打開「豪享小舖」的商品頁 https://shop.lab/products/42,請求經過 DNS、nginx 反向代理,再到後端的 Python 商品 API。每章放大這條路上的一段,用 tcpdump 抓封包、用 ss 看連線狀態、用 dig 查 DNS、用 curl 看 HTTP,觀念都親眼看到它發生。每段指令後面就是實際執行的結果,讀課文就看得懂;想動手的話,第一章會教你在自己電腦用 Docker 架起這個小網站跟著做。
每個單元還有「面試這樣答」,把觀念整理成面試時可以直接講的回答,並預想面試官會怎麼追問。
用哪個版本
原理先教、不以版本為主軸:分層、IP、TCP 的握手與重傳、DNS 的解析流程、HTTP 的方法與狀態碼,這些十幾二十年沒變過,面試問的也是這些。課文的指令與結果在 Docker 上實際跑過,用的映像是 nginx 1.30.6、CoreDNS 1.14.7、Python 3.12,工具箱是 netshoot 0.16(curl 8.21、OpenSSL 3.5、tcpdump、dig、ss)。HTTP/1.1 到 HTTP/2、HTTP/3,TLS 1.2 到 1.3 這些真正改變做法的版本演進,集中在第 9 章一次講清楚。
你會學到
- 從頭到尾講清楚「輸入網址到看到網頁」的每一段,以及每一段面試官會怎麼追問
- 看懂 IP 位址與網段、ARP、路由,用 ping、traceroute 判斷封包卡在哪裡
- 說得出 TCP 三次握手、四次揮手、TIME_WAIT 與 CLOSE_WAIT、重傳、流量控制與擁塞控制的原理
- 看懂 DNS 解析與 TTL,HTTP 的方法、狀態碼、Cookie 與 Session、快取與長連線
- 說明 HTTPS 怎麼用憑證與 TLS 握手防竊聽、竄改、冒充,以及 HTTP/2、HTTP/3、TLS 1.3 改了什麼
- 用 tcpdump、ss、dig、curl 抓封包、看連線,排查連不上與變慢的問題
學習地圖
期末考
通過期末考,才算讀完整門課。
- 題數
- 30 題
- 及格分數
- 80 分
- 限時
- 不限時
- 沒過後要等
- 24 小時