Cache-Control 快取檢測

Cache-Control 快取檢測

分析瀏覽器與共享快取政策、TTL 和重新驗證訊號。

輸入網站網址後開始檢測

網站快取與回源控制

什麼是 Cache-Control?

Cache-Control 是瀏覽器、代理和 CDN 決定能否儲存響應、儲存多久以及何時重新驗證的核心 HTTP 響應頭。

快取策略應按內容型別制定:帶雜湊的靜態資源適合長快取和 immutable,動態 HTML 則需要與釋出、登入狀態和個性化內容保持一致。

檢測內容

TTL

瀏覽器與共享 TTL

區分 max-age、s-maxage、private、public 與 no-store。

VALID

重新驗證訊號

檢查 ETag、Last-Modified、no-cache 和條件請求基礎。

VARY

快取鍵風險

識別 Vary: * 及缺少明確共享快取週期的問題。

為什麼要檢查網站快取設定?

缺少 TTL 會造成重複回源,錯誤的長快取會讓使用者看到舊內容,no-store 和 Vary: * 則可能讓 CDN 完全失去複用能力。

減少伺服器回源

讓可複用資源由瀏覽器和邊緣節點直接提供。

避免內容長期過期

識別不合理 TTL,並確認重新驗證器是否存在。

分清瀏覽器與 CDN

分別解釋 private、public、max-age 和 s-maxage。

Cache-Control 檢測如何運作?

工具請求一次公開頁面並分析最終響應頭;結果僅短時快取,不建立檢測歷史。

  1. 01

    安全請求頁面

    規範化 URL,拒絕內網地址並限制跳轉、超時和響應體積。

  2. 02

    解析快取指令

    拆解 Cache-Control 指令和數值,讀取 Expires 與 Age。

  3. 03

    判斷快取範圍

    分別判斷瀏覽器和共享快取能否儲存響應。

  4. 04

    給出修改建議

    根據缺失、停用、TTL 和 Vary 風險提供具體建議。

Cache-Control 快取檢測常見問題

max-age 和 s-maxage 有什麼區別?

max-age 可用於瀏覽器和共享快取;s-maxage 只覆蓋 CDN、代理等共享快取的 TTL。

no-cache 是完全不快取嗎?

不是。它允許儲存響應,但每次使用前必須向源站重新驗證;no-store 才是不儲存。

HTML 應該設定一年快取嗎?

通常不應該,除非 URL 永不變化且內容不可變。長快取更適合檔名帶內容雜湊的靜態資源。

檢測結果會儲存嗎?

不會寫入業務資料庫,僅使用短時快取降低重複請求。