我正在浏览我最喜欢的网站的HTML ...咳...我在标记中看到了这个:
<link href="/Content/all.min.css?d=20090107" rel="stylesheet" type="text/css" />
“d = 20090107”是做什么的?我假设它是某种日期,但我不确定为什么它在文件的路径中。有什么想法吗?
答案 0 :(得分:70)
那就是为文件名添加一些唯一性,这样当他们更改CSS文件时,他们可以更改额外的位以确保每个客户端都会重新加载CSS而不是使用缓存版本。
网络服务器将忽略该参数并正常提供/Content/all.min.css
注意:虽然可能 CSS是动态生成的,但这是确保重新加载的常用习惯用法,如果参数是日期,则很可能。
编辑:Podcast 38提到了这个......
我们一直在使用Expires或 我们的缓存控制标题 推出。这样可以保存浏览器 不经常去往的往返旅行 更改项目,例如图像, javascript或css。缺点是 那,当你真正改变 这些文件,你必须记住 更改文件名。 我们的一部分 构建过程现在“标记”这些文件 版本号,所以我们不再 必须记住手动执行此操作。
答案 1 :(得分:12)
每次更新样式时都要“清除缓存”。我推测,每当有变化时,负责这些风格的人都会增加它。这是因为浏览器在样式字段中看到了不同的URL,因此它将获取最新版本,即使它在技术上位于服务器上的相同位置。
正如评论中有用地指出的那样,css文件通常会在未来设置到期,这种方法是缓存相关标题的一个很好的回避。
相当有用的技巧。
答案 2 :(得分:4)
让浏览器认为它每次刷新缓存都是一个新文件。
当样式表定期更改时非常有用......