在URL之后添加filesize或hash以获得正确的缓存

时间:2014-11-18 14:30:39

标签: javascript html caching hash filesize

我正在管理网页,因为我们有一个链接到PDF文件的HTML文档。 PDF文件会不时更新,但我们不想更改文件名。这意味着用户获得文件的旧缓存副本,并且必须手动刷新文件才能获取最新文件。

我在链接中添加了以下代码:

onClick="this.href=this.href.split('?')[0]+'?'+new Date().getTime()">

这解决了用户获得旧文件的问题,但是如果用户需要加载PDF,即使它们尚未更新,也会引入问题。这会导致更多的服务器负载,以及更长的用户等待时间。是否有可能获得类似的代码,脚本检查目标文件的哈希值或文件大小,并将其添加到问号后面的URL?如果可能的话,我会克服所有问题。

1 个答案:

答案 0 :(得分:0)

我不知道你有权访问,但我认为你可以使用php。

因此,您应该将md5(由md5_file()生成)作为参数添加到字符串中。该参数只会更改,如果您上传新的pdf(mtime()将具有相同的效果)