Cache

網站未遵循 Cloudflare 的 Pagerules

  • May 11, 2021

我正在使用 Cloudflare 的頁面規則將我網站上的所有內容(ajax.php 除外)記憶體至少 5 天(圖像、css、js 記憶體 30 天)。

Cloudflare 頁面規則

雖然所有網頁內容都設置為記憶體 5 天,但每當我測試它時,首先我當然會得到 Cloudflare MISS 狀態,然後我會得到 Cloudflare HIT 狀態,但過期響應標頭似乎只設置在未來 1 小時.

安慰

為什麼網站的記憶體不遵循頁面規則?

沒關係。對於 HTTP/1.1 客戶端,標Cache-Control: max-age=...頭優先於標頭。Expires請參閱MDN 的 Web/HTTP/Headers/Expires

引用RFC2616

如果響應同時包含 Expires 標頭和 max-age 指令,則 max-age 指令將覆蓋 Expires 標頭,即使 Expires 標頭更具限制性

此外,Cloudflare只會修改Expires Cache-Control如果

  • 來自源 Web 伺服器的標頭值Cache-Control小於Browser Cache TTL Cloudflare 設置,或者
  • 源 Web 伺服器不發送一個Cache-Control或一個Expires標頭。

您的網路伺服器可能首先發送不同Cache-ControlExpires標頭值。

引用自:https://serverfault.com/questions/1062971