我该如何解释。 /glow.min.js?v=5

时间:2011-04-25 10:11:59

标签: javascript jquery

请告诉我/glow.min.js?v=5是什么意思如何使用它?即如何在这里完成版本控制,因为文件是一个。

1 个答案:

答案 0 :(得分:2)

这意味着从服务器的根目录中获取glow.min.js,只需通过查询字符串来控制缓存。

除非服务器设置为处理它,否则查询字符串不会执行任何操作,通常它不会,因此服务器只会抛弃查询字符串。这有时是为了控制缓存,理论上说如果资源是用HTTP 1.1传递的(因为HTTP 1.0资源没有缓存查询字符串),如果查询字符串匹配,则允许浏览器重用资源,但是如果您将其更改为v=6,然后浏览器将重新获取资源(可能是您已更改了基础文件)。

管理缓存比查询字符串有更好的方法。 This article很好地说明了代码正在做什么,以及其他方式做的替代方案。文章中的一些选择点:

  • 使用具有较大值的Cache-Control: max-age标头,使缓存存储不会经常更改的图像和页面。
  • 通过指定适当的max-age或到期时间,让缓存识别定期更新的页面。
  • 如果资源(尤其是可下载文件)发生更改,请更改其名称。这样,您可以在将来使其过期,并且仍然保证提供正确的版本;链接到它的页面是唯一需要短暂到期时间的页面。

但阅读文章以获得更多见解。

最后一点,“如果资源发生变化,更改其名称”在您的情况下应该特别容易,因为我假设您引用的BBC's Glow library已经有了一个可以在主要版本中使用的版本URL(而不是查询字符串中)。

我只想补充一点:

  • 尽可能利用CDN。我有点惊讶地看到该库不在Google Ajax Libraries列表中,但它似乎不是。您可以查看Glow讨论组以查看该库是否托管在某个CDN上(毕竟Google不是唯一的)。