HTTP 快取策略速查

💾 HTTP Cache Strategy Quick Reference

📐 工作原理與說明
HTTP 快取機制與策略速查。
  • 強快取:Cache-Control(max-age、no-cache、no-store、immutable)與 Expires,命中不發請求。
  • 協商快取:ETag/If-None-Match 與 Last-Modified/If-Modified-Since,命中返回 304。
  • 策略:帶內容 hash 的靜態資源用長 max-age + immutable;HTML 入口用 no-cache 保證及時更新。
  • Vary:決定快取鍵是否包含某請求頭,誤用會導致快取錯配或擊穿。

Browse HTTP caching headers and directives in your browser — understand Cache-Control and ETag.

📚 深度解析:HTTP 快取策略速查

💡 常見使用場景

  • 配置靜態資源快取:給帶雜湊檔名的 JS/CSS 設 Cache-Control: max-age=31536000, immutable,HTML 則用 no-cache 配合 ETag 協商,兼顧更新與速度。
  • 排查「改了沒生效」:看響應是命中強快取(from disk cache)還是重新校驗(304),據此判斷該改快取策略還是加版本號。
示例
`Cache-Control: max-age=3600` 與 `ETag` 協商快取配合。

❓ 常見問題(FAQ)

max-age 和 s-maxage 有什麼區別?
max-age 對瀏覽器生效;s-maxage 只對共享快取(CDN、代理)生效,且優先順序高於 max-age。典型用法是給 HTML 設 max-age=0, s-maxage=600:瀏覽器每次重新校驗,CDN 快取 10 分鐘,既保證使用者能及時看到更新,又顯著降低源站壓力。
immutable 有什麼用?
它告訴瀏覽器在 max-age 期間連條件請求都不要發(重新整理頁面也不必校驗)。只對帶內容雜湊、永不變更的檔名使用——一旦檔名不變而內容更新,使用者會被舊快取卡住直到過期,比不設 immutable 更難挽回。
⚠️ 使用說明與注意事項
已複製
📖關於「HTTP 快取策略速查」 ▼

📝工具簡介

HTTP 快取策略速查。專為開發者打造的線上工具,純前端執行,程式碼不離開瀏覽器。