緩存控制頭「no-cache,must-revalidate,private」允許瀏覽器緩存資源,但強制使用條件請求進行重新驗證。這在FF,Safari和Chrome中按預期工作。使IE緩存資源,但總是重新驗證
但是,IE7 + 8不發送條件請求,即請求頭中缺少「If-Modified-Since」,因此服務器使用HTTP/200而不是HTTP/304進行響應。
這裏有完整的服務器響應標題:
Last-Modified: Wed, 16 Feb 2011 13:52:26 GMT
Content-type: text/html;charset=utf-8
Content-Length: 10835
Date: Wed, 16 Feb 2011 13:52:26 GMT
Connection: keep-alive
Cache-Control: no-cache, must-revalidate, private
這似乎是一個IE瀏覽器的bug,但我還沒有在網上找到相關的東西,所以我不知道是否有另一個頭的也許不存在或存在使IE看起來很奇怪?
無緩存和最大年齡的區別的一個很好的討論:What's the difference between Cache-Control: max-age=0 and no-cache?
進入Internet選項==>常規選項卡==>瀏覽歷史記錄部分==>設置...按鈕。看看「檢查存儲頁面的更新版本:」選擇器。確認此緩存行爲是否與其設置相關聯(對於大多數用戶而言,它應該是自動的)。 – rskar 2011-02-16 14:43:53
它不**與此行爲相關聯。 – alienhard 2011-02-16 17:17:01