我幫助維護了幾個發佈新聞和參考信息的基於Wordpress的網站。在瀏覽器會話中強制瀏覽器緩存
我們一直在努力盡可能快地在網站上加載頁面。
我們所做的一件事是在我們的大多數靜態文件(如圖像和css文件)的「緩存控制」http頭中實現了很長的「最大年齡」時間。
我們使用的特定緩存控制設置是「public,max-age = 31536000」。 31,536,000秒是365天。
好處在於,此設置確實會導致靜態文件在用戶瀏覽我們網站的不同頁面時被緩存。
但是,這是蹭。這個緩存控制設置對瀏覽器會話沒有太大幫助。即使該設置應該告訴瀏覽器「緩存該文件一整年」,如果我們網站的訪問者關閉了瀏覽器,然後在五分鐘後啓動並返回到我們的網站,瀏覽器仍然堅持重新加載所有的靜態文件,即使它仍然在緩存中。
我已經在Firefox中仔細檢查過,查看帶有Live HTTP Headers的標題。但是我也可以定性地看到其他瀏覽器中發生的相同情況。
顯然,如果在當前瀏覽器會話期間內容尚未加載一次,瀏覽器會堅持重新加載網站的所有內容。
那麼......有什麼辦法可以向瀏覽器「禮貌地建議」他們總是從緩存中加載緩存內容,即使瀏覽器在當前瀏覽器會話期間還沒有訪問我們的網站?
我花了很多時間仔細研究上述問題。這似乎是問題主要發生在Internet Explorer中。我最初在Firefox中觀察到的問題是由於我的特定版本的Firefox中存在脫機存儲設置。改變了設置後,Firefox現在看起來非常適合在瀏覽器會話中使用緩存內容,並且Chrome也似乎在同一方面表現良好。 Internet Explorer(我已經用IE7完成了大部分測試)不太好。我會做更多的測試並報告我發現的內容。 – BeSimple