javascript版本控制无法更改js url。 etag会起作用吗?

时间:2014-06-17 16:54:01

标签: versioning bookmarklet etag

作为书签的一部分,我想加载脚本www.example.com/a.js 此文件将来可能会更改,因此我想对其进行一些版本控制。 但是,由于我必须对书签中的url进行硬编码,因此我无法使用正确的url-versioning。

进行版本控制的好习惯是什么? 我想使用 etag 可能会有效。即:在每个版本更新时更新eTag,并让客户端请求带有If-None-Match标头的文件。

这会有用吗?

1 个答案:

答案 0 :(得分:1)

  

让客户端使用If-None-Match标头请求文件。

我知道,在加载页面资源(如图像和脚本)时,无法控制或设置浏览器将使用的标题。

ETag是应该起作用的东西"开箱即用"。如果客户端向文件发送ETag标头,则浏览器应自动发送If-None-Match标头以用于下一个请求。

一种经常看到的确保新文件的方法,虽然效率较低,但是要在脚本中添加时间戳或随机数,如http://example.com/script.js?1234567。当然,这将迫使客户端每次都下载脚本。您可以使用不同的日期字符串来强制每天或每周或每月下载一次等等。

然后,您可以使用好的旧标准缓存标头expirescache-control,以便每隔X段强制重新下载。