【发布时间】:2012-01-27 00:26:04
【问题描述】:
我注意到 Stack Overflow 添加了?v=xxxxxxxxxxxx:
绑定到网页的脚本和样式表。这与Cache-Control 响应头一起使用
Cache-Control max-age=604800
为那些静态资源发送的,确保相同的脚本或样式表被缓存(在浏览器中)一周。
我想使用这种技术。您能告诉我该查询字符串是如何添加到 URL 中的吗?我的源代码如下所示:
<script src="js/script.js"></script>
和
<link href="css/style.css" rel="stylesheet">
我假设v 的值由文件的 Last-Modified 值决定。这是否意味着对于我的.php 网页的每个 请求,我必须访问每个 静态资源的最后修改信息? (我觉得这会影响性能。)
【问题讨论】:
-
请注意,查询字符串不是对静态资产进行版本控制的最佳解决方案。在文件名中涉及文件哈希的解决方案更好,因为它们仅在文件的字节更改时才会更改。此外,一些(较旧的?)浏览器在搜索缓存时会忽略查询字符串。我推荐
grunt-hashres。 theasta.net/talks/2013-05-22/# 或 google 的另一个起点。
标签: php javascript css apache caching