跳至主要內容
Skip to content

HTTP 網路請求完全指南

HTTP(HyperText Transfer Protocol)是 Web 世界的基石。無論你是前端工程師、後端開發者,還是 DevOps 工程師,深入理解 HTTP 都是不可或缺的核心能力。

本專題將從協定的本質出發,帶你深入理解每一個 Header、每一個狀態碼背後的設計哲學,最終掌握從開發到部署的完整知識體系。


學習路徑圖


章節清單

階段一:協定本質 (Foundations)

從最基礎的概念開始,把 HTTP 協定講透講深。

  1. 網路請求的一生:從輸入 URL 到頁面渲染 - DNS、TCP、TLS、HTTP 完整流程
  2. HTTP 協定結構解剖 - 報文結構、起始行、Headers、Body
  3. URI/URL/URN 完全指南 - 規範解讀、編碼規則、常見陷阱
  4. HTTP Methods(上):GET 與 POST - 安全性、冪等性、本質差異
  5. HTTP Methods(下):其他方法 - PUT/PATCH/DELETE/OPTIONS/HEAD
  6. 請求 Headers 全解析 - Content-Type、Accept、Authorization 等
  7. 回應 Headers 全解析 - Set-Cookie、Cache-Control、安全 Headers
  8. 狀態碼寶典(上):1xx-3xx - 資訊、成功、重導向
  9. 狀態碼寶典(下):4xx-5xx - 客戶端錯誤、伺服器錯誤
  10. HTTP 版本演進史 - 從 0.9 到 3 的進化之路

階段二:HTTP/1.1 深入 (HTTP/1.1 Deep Dive)

HTTP/1.1 仍是主流,必須掌握其特性與限制。

  1. 持久連線與 Keep-Alive - 連線重用、連線池管理
  2. 管線化的失敗教訓 - 隊頭阻塞、為何被棄用
  3. 分塊傳輸編碼 - Chunked Transfer、Streaming
  4. 內容協商機制 - Accept-*、Quality Values

階段三:HTTP/2 與 HTTP/3 (Modern Protocols)

理解現代協定的優化原理與實務應用。

  1. HTTP/2 核心:二進位分幀與多路複用 - Frame、Stream、解決隊頭阻塞
  2. HTTP/2 進階:Server Push 與 HPACK - 主動推送、標頭壓縮
  3. HTTP/3 與 QUIC 協定 - UDP、0-RTT、連線遷移
  4. 升級策略:遷移到 HTTP/2/3 - ALPN、伺服器配置

階段四:前端請求實作 (Client-side)

從原生 API 到封裝庫,掌握各種實務技巧。

  1. XMLHttpRequest:歷史與原理 - AJAX 起源、生命週期
  2. Fetch API 完整指南 - Promise-based、Request/Response
  3. Fetch 進階:AbortController 與 Streaming - 取消請求、進度追蹤
  4. Axios 深度剖析 - 攔截器原理、對比 Fetch
  5. 錯誤處理的藝術 - 統一處理、優雅降級
  6. 重試機制與指數退避 - 策略設計、熔斷機制
  7. 併發控制與請求排程 - 佇列、限流、取消

階段五:後端實作 (Server-side)

入門但完整,理解伺服器端視角。

  1. Node.js http 模組原理 - 原生 createServer
  2. Express 核心:中介軟體機制 - 洋蔥模型、next()
  3. 請求解析:Body Parser 的秘密 - JSON、Form、Multipart
  4. 路由設計與參數處理 - RESTful、動態路由
  5. 回應設計原則 - 狀態碼、錯誤格式、分頁
  6. 日誌與請求追蹤 - Morgan、Request ID

階段六:安全與認證 (Security & Auth)

這是重中之重,每個主題獨立講透。

  1. 同源政策與 CORS(上):原理篇 - 同源政策、瀏覽器判斷
  2. 同源政策與 CORS(下):實戰篇 - 預檢請求、Cookie 跨域
  3. Cookie 機制完全解析 - 屬性、SameSite、第三方
  4. Session 與 Token 的抉擇 - Stateful vs Stateless
  5. JWT 深入剖析 - 結構、簽名、Refresh Token
  6. OAuth 2.0 完整圖解 - 授權碼、PKCE、OIDC
  7. 常見攻擊與防禦 - CSRF、XSS、安全 Headers

階段七:快取機制 (Caching)

快取是效能的關鍵,必須獨立成章。

  1. HTTP 快取總覽 - 強快取 vs 協商快取
  2. Cache-Control 全參數解析 - max-age、no-cache 等
  3. ETag 與條件請求 - If-None-Match、304 優化
  4. 快取策略實戰 - 靜態資源、API 回應
  5. CDN 與邊緣快取 - 原理、Purge、服務比較

階段八:資料傳輸優化 (Transfer Optimization)

  1. 資料壓縮:Gzip vs Brotli - 壓縮算法、Accept-Encoding
  2. 檔案上傳的 HTTP 細節 - Multipart、Range 續傳
  3. SSE (Server-Sent Events) - EventSource、與 WebSocket 比較
  4. Streaming 與長連接 - Chunked Response、NDJSON

階段九:API 設計與測試 (API Design)

  1. RESTful API 設計原則 - 資源導向、命名規範
  2. API 版本控制策略 - URL vs Header、廢棄策略
  3. GraphQL vs REST - 優缺比較、適用場景
  4. API 文件與 OpenAPI - Swagger、契約測試
  5. API 測試實戰 - Postman、MSW、Vitest

階段十:工具與除錯 (Tools & Debugging)

  1. DevTools Network 面板精通 - Timing、Waterfall
  2. cURL 與 HTTPie 實戰 - 命令列請求技巧
  3. 抓包工具:Wireshark 與 Charles - HTTPS 解密、封包分析

階段十一:終極實戰 (Final Projects)

  1. 實戰專案:API Client 封裝 - 攔截器、重試、TypeScript
  2. 實戰專案:完整後端 API 服務 - Express + JWT + CORS
  3. 總結:HTTP 知識地圖與速查表 - 全系列知識圖譜

與其他專題的關聯

本系列與站內其他專題有密切關聯:

本系列文章相關專題
HTTP/3 與 QUICWebTransport 專題
資料壓縮Binary Data 專題
檔案上傳檔案上傳專題
SSEWebSocket 專題

> **建議導讀**:如果你是完全的初學者,建議從第 01 篇開始循序漸進。如果你已有基礎,可以直接跳到感興趣的章節。

← 返回所有文章