为什么有些网站使用GET参数访问特定版本的CSS或JavaScript文件?

时间:2010-02-04 23:49:36

标签: javascript html css

我已经看到很多网站在其生成的HTML源代码中执行此操作(甚至是stackoverflow本身),使用GET参数访问特定版本的CSS或JavaScript文件。有什么意义呢?

示例:

<link rel="stylesheet" href="http://sstatic.net/so/all.css?v=6230">
<script type="text/javascript" 
        src="http://sstatic.net/so/js/master.js?v=6180"></script>

这只是一种连贯性还是最佳实践?是否只是因为浏览器上具有旧缓存版本的客户端被迫更新其过时版本?

4 个答案:

答案 0 :(得分:4)

  

是否仅仅是因为浏览器上具有旧缓存版本的客户端被迫更新其过时版本?

完全。

查看this question以获取详细信息,更多链接和讨论以及this question有关Stack Overflow本身如何使用该方法的信息。

答案 1 :(得分:1)

是的,它用于破解浏览器和代理缓存。没有其他目的。

好吧,从理论上讲,你可以动态生成javascript,然后你就需要这些参数。例如,JSONP以这种方式工作。但主要是用于无效的缓存。

答案 2 :(得分:0)

强制浏览器获取新版本而不是简单地使用缓存的旧版本。就是这样。

答案 3 :(得分:0)

这用于CSS / Javascript的远期到期。这允许站点告诉您的浏览器将数据缓存很长时间(例如5年)。更新css或js后,版本号将发生变化,从而导致缓存未命中。

浏览器通过完整的查询字符串缓存css / js。