DevToolPal
繁
3xx 重新導向

304 Not Modified

未修改

意義

用戶端已有的快取副本仍然有效,因此伺服器不傳送本文。它回應帶有 If-None-Match 或 If-Modified-Since 的條件式請求。

常見原因

  • If-None-Match 中的 ETag 與目前版本相符
  • 資源自 If-Modified-Since 以來沒有變更
  • 瀏覽器正在重新驗證快取的靜態資源

解決方法

用戶端或訪客

使用快取的本文。如果內容看起來過時,可能是驗證器有誤;強制重新載入或檢查 ETag 的產生方式。

網站或 API 的維護者

產生穩定的 ETag(負載平衡器後方的各台伺服器要一致),並送出與 200 相同的快取標頭。

回應範例

HTTP/1.1
HTTP/1.1 304 Not Modified
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
ETag: "33a64df5"
Cache-Control: max-age=3600

規範

RFC 9110 §15.4.5

常見問題

› 304 是錯誤嗎?

不是。它告訴用戶端快取仍是最新的,藉此節省頻寬。

› 為什麼部署後使用者仍看到舊檔案?

快取標頭允許使用舊副本。靜態資源使用帶指紋的檔名,HTML 使用較短的 max-age 並搭配驗證。