回答
靜態內容的一種非常整潔的緩存方法是在URL中編碼靜態內容的版本。然後「通知」瀏覽器下載新的靜態內容只是向客戶端提供新的URL。
# first version access (1.1/main.css will never expire)
# e.g. by far future Cache-Control + Expires Header
<link ... href="/static/1.1/main.css
# after upgrading/releasing trigger fresh download
<link ... href="/static/1.2/main.css
它涉及到一些努力,你的構建+部署過程,但從緩存控制它是非常簡單的。
實際上,這通常是唯一可行的解決方案。 – EricLaw
因此,如果我有一個過期或cahce控制標題與說yeat到期,沒有辦法告訴瀏覽器檢查是否一個項目已更新? – chobo
基本上2 cache-style:1)Conditional-GET(瀏覽器正在做一個調用來檢查新內容,例如ETag或If-Modified-Since,導致304 Not-Modified或200 OK更新內容)。 2)告訴瀏覽器根本不打一個電話(例如Cache-Control:max-age,Expires標題)。 2)具有的優點是,您根本不會造成流量,但具有無法執行更新強制的缺點。所以我會使用樣式2),只有當我確定內容(通過URL標識)不會得到更新(請參閱我的初始答案)。 –
- 1. 使瀏覽器緩存圖像
- 2. 如何防止瀏覽器使用NGINX緩存特定圖像
- 3. ASP.NET - 使瀏覽器緩存無效
- 4. 在瀏覽器上緩存圖像
- 5. 瀏覽器圖像緩存規則
- 6. 強制瀏覽器緩存圖像
- 7. 帶有URL圖像源的Web瀏覽器圖像緩存
- 8. 使用.htaccess進行HTTP /瀏覽器緩存
- 9. 如何使用緩衝存儲器進行圖像下載?
- 10. JavaScript Image對象如何與瀏覽器緩存進行交互?
- 11. 瀏覽器如何比較URL以進行緩存?
- 12. 如何強制Web瀏覽器緩存圖像
- 13. 如何防止瀏覽器的圖像緩存?
- 14. 如何圖像緩存在瀏覽器中
- 15. 如果瀏覽器未使用,瀏覽器會緩存CSS背景圖片嗎?
- 16. 利用瀏覽器緩存
- 17. 禁用瀏覽器緩存
- 18. 使用Codeigniter進行圖像緩存
- 19. 谷歌瀏覽器沒有緩存圖像
- 20. 如何使用solr緩存有效地使用HAProxy進行負載平衡?
- 21. 使用JavaScript來使瀏覽器的緩存無效
- 22. 利用瀏覽器緩存 - 沒有設置失效日期
- 23. ASP.NET MVC:使動作的瀏覽器緩存圖像
- 24. 如果磁盤緩存已滿,瀏覽器是否可以使緩存項有效(有效)?
- 25. 如何在瀏覽器中本地保存拖動的圖像
- 26. 使用BottlePy/GAE瀏覽器緩存
- 27. ,如果圖像是在瀏覽器緩存中的JavaScript檢查
- 28. 後負荷:檢查如果圖像是在瀏覽器緩存
- 29. 在瀏覽器中使用GWT進行圖像處理
- 30. 黑莓瀏覽器緩存即使沒有緩存meta標籤
與往常一樣:所需*最大*高速緩存持續時間的組合,並確保服務器返回未修改的內容。智能服務器也可能使用[ETags](http://en.wikipedia.org/wiki/HTTP_ETag),這將允許在最後修改日期之後進行更多控制。 – 2011-09-01 17:36:35