2012-09-27 54 views
2

從我知道這一點:過期指令 - 修改的基礎VS接入基礎

ExpiresByType text/html "access plus 30 days" 

將存儲內容後做出新的內容瀏覽器的緩存請求死去30天。

但隨着:

ExpiresByType text/html "modification plus 30 days" 

瀏覽器的緩存就知道與去年修改的頭的幫助不新鮮的內容請求,直到修改後的30天內。

所以我的問題是,爲什麼不使用修改基地所有的時間,因爲它似乎更好的意義,或者有什麼我失蹤?

回答

8

apache mod_expires docs這樣說:

有效的差異是很微妙的。如果使用M,則所有緩存中的所有當前文檔副本都將同時過期,這對於每週通知可以在同一個URL中找到的情況非常有用。如果使用A,則每個客戶的到期日期是不同的;這對於不經常改變的圖像文件來說是很好的,特別是對於所有涉及相同圖像的相關文檔(即圖像將在相對短的時間間隔內重複訪問)。

中號修改加一個訪問加。所以它看起來像是你想如何緩存跨所有瀏覽器工作的問題。你是否希望你的資源在同一時間在所有瀏覽器上使其緩存失效?或者您是否希望自己的資源在所有瀏覽器之間交錯排列緩存:?具體來說,這歸結於這裏緩存的資源類型。

如果我有一個頁面,例如/live_shows.html,除了每週一次更改外,我只在本週開始時更新它,以列出所有現場演出,我將在我的酒吧中列出,那麼我想要使用"modification plus 7 days"。因爲它每7天就會更新一次,不多也不少。

如果我有一個/live_shows.html頁面上顯示的圖像目錄,但很少會因爲它們像圖標,橫幅和子彈一樣而被更改,所以我一直都在使用它們。然後,我想讓它們成爲"access plus 30 days",因爲如果有任何更改,獲取這些更改的更新並不重要。

+0

非常感謝喬恩。非常感激。 –