清除服务器端的chrome缓存

时间:2016-10-17 11:15:26

标签: javascript angularjs .htaccess google-chrome

我的chrome缓存存在很大问题。 我为我的客户建立系统。所有都是建立在角度上,所以在开始时总有一个index.html文件。 使用新版本我将js脚本标记更改为ex。 index.html文件中的scripts.2.1.1.js。 我也有:

<FilesMatch "\.(html)$">
Header set Cache-Control "max-age=1, public"
</FilesMatch>

在我的htaccess文件中。

但是铬似乎忽略了它。 每当我输入url地址时我都有旧版本,但在源代码中我有新脚本的标签。当我按下F5时会加载新版本,但是当我关闭浏览器的标签并再次输入网址时我再次使用旧版本了?

出了什么问题?如何摆脱缓存?我不想要浏览器解决方案(清除缓存)。我无法强迫我的客户这样做。我想要服务器端解决方案。有没有?

解决方案:

<FilesMatch "\.(html|js|css)$">
Header unset ETag 
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" 
Header set Pragma "no-cache" 
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT" 
</FilesMatch>

1 个答案:

答案 0 :(得分:3)

您可以尝试设置&#34; no-store&#34;在标题中: Why both no-cache and no-store should be used in HTTP response?

但实现ETag标头是一种更强大的方法:

https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=en