我有一個系統,其中緩存max-age設置爲0,並有問題,當我在我的style.css中做了一些更改失敗更改不apear到客戶端。瀏覽器將使用css的舊緩存版本。 我有一個簡單的問題:命名爲style.css?123的css文件將被緩存爲新的?Css文件緩存
Css文件緩存
回答
是的,向資源的URI添加唯一的查詢字符串將強制客戶端獲取「新鮮」版本(因爲客戶端不知道它僅僅是一個更新以前的緩存資源)。這被稱爲指紋並且您通常使用CSS文件的時間戳或遞增版本號。
Google Web Fundamentals在HTTP cache optimization上有一篇很棒的文章。尤其是標題爲「無效和更新緩存的響應:」
你如何獲得兩全其美的:客戶端緩存和快速更新?您可以更改資源的URL,並強制用戶在其內容更改時下載新的響應。通常,您可以通過在其文件名中嵌入文件的指紋或版本號(例如,樣式)來執行此操作。 x234dff .css。
請注意,指紋不需要是序列號。任何價值 - 散列,版本等 - 只要碰撞風險有限,就會這樣做。
1)這是怎麼在這裏做了SO,例如http://sstatic.net/js/global-login.js?v=12
是的,在每個style.css
文件中追加查詢字符串參數將強制它再次緩存。
,因爲瀏覽器會將每個靜態組件與其url進行緩存,所以當url更改時,新文件將被緩存。
顯然,使用查詢字符串參數是不好的。請參閱http://stackoverflow.com/a/13377291/637609 – 2012-11-14 10:56:57
你就可以欺騙瀏覽器以爲它是一個新的樣式表,每一秒的時戳你的CSS:
<link rel="stylesheet" type="text/css" href="style.css?<?php echo date('l jS \of F Y h:i:s A'); ?>" />
,這將給你這樣的:
<link rel="stylesheet" type="text/css" href="style.css?Thursday 24th of April 2008 04:45:21 PM" />
顯然,使用查詢字符串參數是不好的。請參閱http:// stackoverflow。com/a/13377291/637609 – 2012-11-14 10:57:31
您可以附加一個唯一的查詢字符串,雖然這會使用帶寬。
可以重命名每次做出改變時你的CSS文件,IE:
主v1.css 主v2.css 主v3.css
,然後重新引用它在你的網頁中。這節省了帶寬並迫使瀏覽器重新加載它。
'main.css?v1'如何使用比'main-v1.css'更多的帶寬? (我想我誤解了你的答案。) – jensgram 2010-11-04 10:19:15
main.css?v1實際上是相同的,我的意思是用於日期標記,它會每一次加載它,當你只有在需要加載時纔會加載它。每次更改都以不同方式命名css文件,或者添加版本號查詢字符串是2種最佳方式。 – 2010-11-04 10:34:59
顯然,使用查詢字符串參數是不好的。請參閱http://stackoverflow.com/a/13377291/637609 – 2012-11-14 10:58:56
- 1. django css文件緩存
- 2. asp緩存CSS文件
- 3. CSS文件名大小寫敏感&Css文件緩存
- 4. 槓桿瀏覽器緩存不緩存JavaScript和CSS文件
- 5. 緩存麻煩:動態CSS文件
- 6. 瀏覽器緩存JavaScript和CSS文件
- 7. 客戶端緩存Javascript/CSS文件
- 8. 緩存特定的Javascript和CSS文件
- 9. 如何用css文件覆蓋緩存
- 10. 阿帕奇緩存JS CSS文件
- 11. 瀏覽器緩存CSS文件
- 12. 緩存Javascript文件和CSS中的ZEND
- 13. Chrome沒有緩存css文件。緩存適用於.js/.png文件。
- 14. 如何在.net中緩存控件,js文件和css文件?
- 15. 緩存文件
- 16. 緩存gzipped css
- 17. IIS CSS緩存
- 18. 緩存Typekit CSS
- 19. ob_start緩存CSS
- 20. Yii緩存外部javascript文件和CSS文件嗎?
- 21. asp.net mvc:圖像,Css文件和JavaScript文件沒有被緩存
- 22. 將CSS文件合併到一個緩存的文件中
- 23. 爲緩存文件禁用APC緩存?
- 24. 緩存清單緩存網絡文件
- 25. Yii2 redis緩存在文件緩存中
- 26. w3總緩存緩存文件夾
- 27. Apache文件緩存
- 28. Xcode緩存文件
- 29. 緩存JavaScript文件
- 30. 緩存JSON文件
你使用IIS服務器還是Apache? – 2010-11-04 10:03:25