我正在浏览我最喜欢的网站的HTML ...咳...我在标记中看到了这个:
<link href="/Content/all.min.css?d=20090107" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
什么"?d = 20090107"呢?我假设它是某种日期,但我不确定为什么它在文件的路径中.有任何想法吗?
Pau*_*xon 70
那就是为文件名添加一些唯一性,这样当他们更改CSS文件时,他们可以更改额外的位以完全确定每个客户端将重新加载CSS而不是使用缓存版本.
Web服务器将忽略该参数并正常提供/Content/all.min.css
注意:尽管可以动态生成CSS,但这是确保重新加载的常用习惯用法,并且如果参数是日期,则很可能.
编辑:播客38提到了这个......
自从我们推出以来,我们一直在使用Expires或Cache-Control Header.这样可以在不经常更改项目(例如图像,javascript或css)时保存浏览器往返.缺点是,当您实际更改这些文件时,您必须记住更改文件名.我们的构建过程的一部分现在使用版本号"标记"这些文件,因此我们不再需要记住手动执行此操作.
Sam*_*152 12
每次更新样式时都要"清除缓存".我推测,每当有变化时,负责这些风格的人都会增加它.这是因为浏览器在样式字段中看到了不同的URL,因此它将获取最新版本,即使它在技术上位于服务器上的相同位置.
正如在评论中有用地指出的那样,css文件通常会在将来设置它们的到期时间,这种方法是缓存相关标头的一个很好的回避.
相当有用的技巧.