【发布时间】:2014-02-05 14:28:57
【问题描述】:
在浏览HTML 5 boilerplate template 时,观察到他们使用过的地方很少
<!-- CSS : implied media="all" -->
<link rel="stylesheet" href="css/style.css?v=1">
<!------ Some lines removed ------>
<script src="js/plugins.js?v=1"></script>
但这有什么帮助呢?查询字符串如何工作?我没有更改文件名,也没有编写任何脚本来处理查询字符串 (?v=1)。
我错过了什么?我需要更改文件名还是需要有一个存储库才能确保它正常工作?
【问题讨论】:
-
嗯,这不是同一个 URL,因此不允许缓存服务同一个文件...
-
我们曾经称之为“缓存破坏者”。当然,鉴于它是静态的(总是 1,而不是时间戳),它不是一个很好的。 (Web 服务器和 .css 文件将忽略查询字符串)
-
@ebyrob 除非您每次更新该文件时手动增加它。
-
@Mike manual = 在这种情况下不好。如果说服务器可以根据它的文件版本跟踪 style.css 何时更改,然后控制它何时被客户端拉下,这似乎好多了。 ...有点像较短的缓存标头时间会发生什么。在流量非常大的环境中改进这一点可能很重要,但它会很快让你头晕目眩。
-
@ebyrob 好主意。我从来没有想过根据文件修改时间来做。我刚刚在我的一个网站上实施了它,效果很好。
标签: javascript html css browser-cache