如何强制用户刷新缓存

8

我正在尝试更新网站的PDF表格,但是当我在服务器上更改它们后,我的用户只能看到旧表格。

有没有办法自动强制刷新缓存,以便他们可以看到新文件?


可能重复 (https://dev59.com/6XI-5IYBdhLWcg3wTWZu) - Timble
一种更简单的方法是在URL中添加一个随机的GET令牌。 - Nijraj Gelani
2个回答

14
您无法强制用户从您的网站清除缓存。当您替换PDF文件时,只需更改PDF文件名称并相应地在HTML中更新链接即可。这将防止浏览器从缓存中加载文件。
例如,如果您有一个名为form1.pdf的文件,并且想要使用更新后的版本进行替换,则删除form1.pdf(不要简单地替换),将新文件命名为不同的名称,例如form1a.pdf,并更新现有链接以指向form1a.pdf。

我明白了,那么每次更新文件时,我需要将它更改为唯一的名称吗?还是可以在两个文件名之间来回切换? - Ken Jenningson
如果您使用旧名称,浏览器可以从缓存中提取它,因此最好每次更改它。 - Arun Sharma

2
请检查服务器上是否有静态文件缓存(是否使用了类似Cloudfront的CDN?如果是,则可能仅在给定时间段内检查更新文件)。
您还可以通过向“Cache-Control”头发送“no-cache,must-revalidate”来控制服务器端的缓存(有关更多选项,请参见this)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接