小村軟體有限公司
HTTP101

用圖解與練習理解 HTTP

「打開了開發者工具的 Network 分頁,卻不知道該看哪裡」「被問到 404 和 403 的差別時一時語塞」— 開始做 Web 之後每天都會碰到 HTTP,它的內容卻意外地難以讀懂。本課程不是要你死背 HTTP,而是讓你養成一個固定的閱讀型:HTTP 是「用文字寫成的往返書信」,每次都閱讀「請求了什麼(方法與路徑)・結果如何(狀態碼)・條件與補充(標頭)」這 3 點組合。課程以圖解掌握結構,並在各章途中用小題與模擬器邊確認邊前進。

圖解 → 原始文字 → 手算 → curl 共 43 題 瀏覽器內評分 localStorage 儲存
所需時間
3〜4 小時
題目數
共 43 題
形式
7 章 + 小題 + 模擬器
費用
免費
顯示瀏覽器送往伺服器的請求(請求行・標頭・空行・內文)與伺服器回傳的回應(狀態行・標頭・空行・內文)一來一往的 HTTP 結構圖

HTTP 的真面目,就是這一來一往的文字。請求與回應都具有相同的骨架:「第 1 行 + 標頭 + 空行 + 內文」。把這副骨架放在腦中,之後的每一章都會變得好讀。

本課程的特色

本文正下方就有小題
採用讀完馬上解 2〜3 題的構成,比較不容易在「以為自己懂了」的狀態下繼續前進。
閱讀原始文字
請求行・狀態行・標頭在圖解之後,會以實際的文字原樣閱讀。curl 與開發者工具的輸出就直接成為教材。
快取判定模擬器
在第 5 章的模擬器中調整 max-age 與經過時間、ETag 的有無,就能親眼確認「請求會不會發出・回應是 200 還是 304・傳輸量是多少」如何變化。
瀏覽器內評分・免註冊
全部 43 題都在瀏覽器內評分,結果只儲存在你瀏覽器的 localStorage。不會向伺服器送出任何資料。

貫穿本課程的觀點 — 用 3 點組合閱讀往返書信

HTTP 是瀏覽器與伺服器之間交換的用文字寫成的往返書信。看起來困難的輸出,只要每次確認相同的 3 點就一定讀得懂。隨著章節推進,閱讀每一點的解析度也會逐步提高。

1. 請求了什麼
方法與路徑 — 是 GET 還是 POST、對哪個 URL。要讀的是請求行。(第 1〜2 章)
2. 結果如何
狀態碼 — 是成功、轉送、我方的錯誤,還是對方的故障。3 位數字會回答。(第 3 章)
3. 條件與補充是什麼
標頭 — 用什麼格式、多大的量、附帶什麼條件搬運。是往返書信的附註。(第 4〜5 章)

本課程的口訣:快被開發者工具或 curl 的輸出壓垮時,不要停止思考,讀下去 — 請求了什麼?結果如何?條件與補充是什麼?

章節構成

學習訣竅

  1. 請依本文 → 正下方的小題的順序前進。比起累積起來之後再解,讀完馬上解更容易記牢。
  2. 第 5 章的計算題不要用心算帶過,把接收時刻・經過秒數・max-age 寫在紙上。「fresh 還剩幾秒」會變成手的感覺。
  3. 第 5 章的模擬器,請在解小題的前後操作一次。304 與傳輸量的關係會變成體感。
  4. 上完課後,請在實際的瀏覽器打開開發者工具的 Network 分頁,用平常瀏覽的網站試試3 點組合閱讀法。教材中的同一副骨架會出現在眼前。
  5. 在第 7 章的案例題卡住時,回到對應的章節複習 1〜2 輪就好。不需要全部重來。

開始前的前提

  • 只要處於已經開始(或即將開始)製作網站或應用程式的階段就足夠了。不需要伺服器維運經驗。
  • 只要看過 URL(像 https://example.com/path 這樣的形式),就可以從第 1 章讀起。
  • 第 6 章的指令範例以可複製試跑的形式呈現,但即使不在手邊執行,也能在紙上讀完整個內容。