当我看到许多站点的源代码时,参数被传递到链接文件(CSS/JavaScript)。
在Stack的溢出源代码中,我得到了
<script type="text/javascript" src="http://sstatic.net/js/master.js?v=55c7eccb8e19"></script>
为什么要使用master.js?v=55c7eccb8e19
?
我确信JavaScript/CSS文件无法获取参数。
原因何在?
发布于 2010-06-28 18:13:51
这样做通常是为了防止缓存。
假设您部署了新应用程序的版本2,并且您想让客户端刷新它们的CSS,您可以添加这个额外的参数来指示它应该从服务器重新请求它。当然,也有其他方法,但这非常简单。
发布于 2013-07-11 20:35:15
这是为了避免浏览器缓存文件。附加的版本名称对JavaScript文件没有影响,但是对于浏览器的缓存引擎来说,它现在看起来像是一个唯一的文件。
例如,如果您有scripts.js
,并且浏览器访问该页面,则浏览器将下载并缓存(存储)该文件,以使下一页面的访问速度更快。但是,如果您进行了更改,则在缓存过期之前,浏览器可能无法识别它。然而,scripts.js?v2
现在让浏览器强制重新获取,因为“名称改变了”(即使它没有改变,只有内容改变了)。
发布于 2010-06-28 18:14:33
生成CSS或JavaScript代码的服务器端脚本可以利用它们,但它可能只是用来在文件内容更改时更改URI,以便旧的缓存版本不会造成问题。
https://stackoverflow.com/questions/3131518
复制相似问题