在我的網站www.johnshammas.com上,它可以在所有瀏覽器中正常運行。除了...在Chrome瀏覽器上查看過以前版本的任何人都會停留在該版本上,直到他們清空緩存爲止。什麼會導致網站返回一個「未修改」的標題,但事實上它已被大量修改?Chrome緩存過長
2
A
回答
0
一些可能的解決方案是這樣的......
1號(永久)
- F12的開發工具>在右下>網絡>Check "Disable cache"設置減速標誌
否2(半永久性)
通過按Ctrl + Shift + N。但要小心,因爲這也 結束會話
- 切換隱身模式。
3號(一次性)
- CTRL + SHIFT +德爾>確認
4號(一次性)
- F12開發工具>網絡選項卡>右鍵單擊內容區域> 清除瀏覽器緩存>確認。
1
如果返回一個304 Not Modified
響應,這是因爲早期的服務器發送帶有ETag
或Last-Modified
頭的響應。
之後,瀏覽器將此值作爲ETag
或If-Modified-Since
標題發送。服務器識別ETag或日期,以便自瀏覽器上次請求該資源以來該資源未發生變化。因此它返回了304
。
如果您不熟悉這些或其他緩存標頭,我建議對它們進行一些研究。關於這些是什麼以及如何使用它們,有很多很棒的教程。
0
問題是,Chrome需要在Cache-Control`頭中有must-revalidate
以重新檢查文件以查看是否需要重新獲取它們。
推薦以下響應頭:
Cache-Control: must-validate
這告訴Chrome中檢查與服務器,並查看是否有更新的文件。如果有新文件,它會在響應中收到它。如果沒有,它將收到304響應,並確保緩存中的最新信息。
如果您沒有設置此標題,那麼在沒有任何其他設置導致文件無效的情況下,Chrome將從未與服務器進行檢查以查看是否有更新的版本。
這是一個blog post,它進一步討論了這個問題。
相關問題
- 1. Chrome無緩存
- 2. 在Chrome或Firefox中繞過緩存
- 3. Chrome和過期頭 - 圖像緩存
- 4. Chrome緩存重寫angularjs禁用緩存
- 5. Servlet長數據緩存過程
- 6. Chrome在長時間未使用後是否會過期應用程序緩存?
- 7. Google Chrome HTML5視頻緩存
- 8. Chrome拒絕緩存Javascript
- 9. 解碼gzip Chrome緩存
- 10. Google Chrome緩存PDF文件
- 11. Chrome緩存選擇菜單
- 12. ASP.NET MVC 4.0 Chrome緩存
- 13. Chrome devtools啓用緩存
- 14. Nginx緩存命中長$ request_time
- 15. 緩存過期
- 16. 通過URL MVC渲染緩存緩存?
- 17. 通過PHP頭的緩存控制 - Chrome Works/Firefox不是
- 18. 通過javascript設置的背景圖像未被Chrome緩存
- 19. 「緩存:false」PREVENT緩存還是UNIQUE-IFY請求繞過緩存?
- 20. 清漆緩存 - 頁面緩存多長時間?
- 21. 緩存:[GET /]錯過
- 22. Rails緩存過期
- 23. .Net緩存過期
- 24. NHibernate緩存過期
- 25. 繞過FreeMarker緩存?
- 26. FireFox,Chrome,Safari和Opera緩存SSL/TLS會話密鑰需要多長時間?
- 27. 如何清除Chrome中的緩存?
- 28. 在Google Chrome中禁用JavaScript緩存
- 29. Chrome不會緩存圖片/ js/css
- 30. 如何在Chrome中重置api緩存?
您應該查看與頁面一起發送的標題,並檢查它們是否不是問題的原因。如果您不明白標題的含義,請推薦您的問題以包含它們。 – 2012-03-03 23:27:15