如何設置 Apache 2.2.3 發送“最後修改”等
並告訴瀏覽器重新載入一個對象(和/或頁面……網站上的所有內容),只有自上次訪問時間以來被修改?htaccess, httpd.conf …你有適合我的情況的現成指令嗎?非常感謝你
html5boilerplate.com包含一個註釋良好的 .htaccess 文件,其中包含許多您應該考慮的標准設置。其中包括使內容過期的合理設置(Expires、E-tags、…)。
請注意,
Last-Modified
標頭是弱記憶體標頭。目前的首選是使用Cache-Control
標題。Google對此有一篇很好的文章。
過期和記憶體控制:max-age。這些指定資源的“新鮮生命週期”,即瀏覽器可以使用記憶體資源而不檢查是否可以從 Web 伺服器獲得新版本的時間段。它們是無條件應用的“強記憶體標頭”;也就是說,一旦設置了它們並下載了資源,瀏覽器將不會發出任何對資源的 GET 請求,直到達到到期日期或最長期限。
最後修改和 ETag。這些指定了瀏覽器檢查以確定文件是否相同的資源的一些特徵。在 Last-Modified 標頭中,這始終是一個日期。在 ETag 標頭中,這可以是唯一標識資源的任何值(文件版本或內容雜湊是典型的)。Last-Modified 是一個“弱”記憶體標頭,因為瀏覽器應用啟發式方法來確定是否從記憶體中獲取項目。(不同瀏覽器之間的啟發式方法不同。)但是,這些標頭允許瀏覽器通過在使用者顯式重新載入頁面時發出條件 GET 請求來有效地更新其記憶體資源。條件 GET 不會返回完整的響應,除非資源在伺服器上發生了變化,因此比完整的 GET 具有更低的延遲。
我建議根據需要使用
Cache-Control
or 或Expires
headers,因為它們是強大的記憶體標頭。一些系統會忽略 Last-Modified 日期。
curl
然後,您可以使用類似http://redbot.org的工具來檢查標題。