我了解如何使用版本号并在我自己的网站上强制下载更新文件,但在这种情况下可以做什么......
我有一些我为公众使用而编写的小脚本,我有大约 200 个不同的网站在他们的网站上链接我的 js 文件。当我对文件进行更新时,我必须让他们全部手动更改文件的版本号,以便他们和他们的用户重新下载最新的更新。
我可以在我的服务器上做些什么,主机,可以强制其他站点重新下载最新版本,而无需任何手动操作?
最佳答案
There are 2 persistent problems in computing: Cache invalidation, naming things, and off-by-one errors.
如果您希望客户端在不更改文件名的情况下获取文件的新版本,那么您只需降低在缓存 header 中设置的 max-age
以便它们更频繁地检查并在合理的时间内获得新版本。
就是这样。列表结束。
您还可以通过实现 ETag
header 来减轻请求负载增加的影响。客户端将在后续请求中发回,可用于检测资源是否未更改,并可选择提供 304 Not modified
响应。
但是,根据实现和运行 ETag 检查的成本,您可能只想重新提供现有资源并完成它。
或者使用 CDN,它应该为您处理所有 ETag 废话。
关于javascript - 您托管的文件上的浏览器缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59449236/