中級還沒有評分

電腦網路:從封包到 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 抓封包、看連線,排查連不上與變慢的問題

學習地圖

    1. 1-1課程導覽學電腦網路要從哪裡開始?10 分
    2. 1-2準備練習環境怎麼在自己電腦架一個有 DNS、nginx 和後端的小網站?18 分
    3. 1-3分層模型與各層協定網路為什麼要拆成好幾層?12 分
    4. 1-4封裝與解封裝一個 HTTP 請求在網路上被包了幾層?12 分
    5. 1-5實作:拆開一次請求一次 curl 在網路上到底送了哪些封包?15 分

期末考

通過期末考,才算讀完整門課。

題數
30 題
及格分數
80 分
限時
不限時
沒過後要等
24 小時