我有一个系统,其中缓存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