不具備高速緩存控制頭部的瀏覽器在每次加載一個新的(?)第一次請求的資源。點擊F5可以使該頁面中的任何緩存項無效(甚至邏輯刪除),通過充當沒有本地版本的方式強制完成重新加載 - 我不確定瀏覽器在再次請求它們之前是否從緩存中刪除這些資源。
有趣的是,在某些瀏覽器中有一些「附加」設置會導致一些優化,例如每頁加載只請求一次資源。如果您的圖像隨計數器等每個請求發生變化,即使多次使用該圖像,也只會看到該圖像的一個版本。
下一個是瀏覽器通過應用某種本地'優先'緩存來重用未明確設置爲nocache的圖像。如果每次需要將請求設置爲重新驗證並將過期設置爲-1或類似的內容時都想要請求。
因此,根據資源的具體情況,任何情況下都不會觸發某些默認設置,這些默認設置與閱讀規格時所期望的不同。
關於來源是否是本地,驅動器或真正的遠程互聯網服務器,可能還存在不同的行爲。說並非所有的瀏覽器都有不同的表現,而且我非常有限。
什麼是幫助檢出www.google.com並尋找他們的頁面請求的跟蹤像素(兩個1x1像素從metrics.gstats.com請求與子域上的隨機部分)。
如果您使用螢火蟲檢查標題,您會發現它們以任何可能的方式指定nocache指令。頭讀取這樣的:
Alternate-Protocol 443:quic
Cache-Control no-cache, must-revalidate
Content-Length 35
Content-Type image/gif
Date Mon, 25 Nov 2013 14:33:30 GMT
Expires Fri, 01 Jan 1990 00:00:00 GMT
Last-Modified Tue, 14 Aug 2012 10:47:46 GMT
Pragma no-cache
Server sffe
X-Content-Type-Options nosniff
X-Firefox-Spdy 3
X-XSS-Protection 1; mode=block
嘗試這是一個設置,並檢查是否能解決問題,瀏覽器沒有拿起你的改變資源。必須重新驗證指令將導致代理緩存每次請求資源並檢查304個未修改的答覆。
我目前遇到類似的情況。我有一個本地主機連接設置etag和所有發生的事情是緩存永遠不會問。我沒有設置緩存信息或類似的。單獨指定etag接口會導致FireFox不再請求資源。所以我遇到類似於你的問題的東西。
1)除以值爲何我看不到緩存控制:在響應頭中是私人的? 2)max-age =? – rhapsodyn
這不回答這個問題。這回答了IIS 6中的默認設置。 – SilverlightFox