浏览器缓存控制:Internet Explorer和Chrome

时间:2016-06-01 17:55:34

标签: google-chrome internet-explorer browser-cache cache-control

我一直在处理一个问题,以防止在点击浏览器后退按钮时提供缓存服务器页面。通过This question并设置适当的响应标头(如下),但IE和Chrome之间存在不一致的行为。

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "0");

IE: 一旦我使用后退按钮返回页面,就会“网页已过期”

铬: 不是说页面已过期,也没有提供缓存页面,但是即使在后退按钮上也会发出新的服务器请求 - 有点像点击刷新。

我的问题:它们是如何回应标题的,是否有办法实现一致的结果?主要目的是避免跨浏览器在后退按钮上提供缓存页面。

1 个答案:

答案 0 :(得分:1)

嗯,实际上我已经弄清楚了。 Chrome上的行为有所不同,因为Chreme Dev Toolbar上的浏览器设置明确禁用了缓存,如下面的屏幕截图所示。这导致页面点击服务器而不是显示页面已过期。

如果我停用此选项,我会看到'确认表单重新提交'页面。

Chrome Dev toolbar