首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >阻止IE缓存

阻止IE缓存
EN

Stack Overflow用户
提问于 2010-05-17 20:21:58
回答 5查看 28.5K关注 0票数 17

我正在使用Struts开发一个Java EE web应用程序。问题出在Internet Explorer缓存上。如果用户注销,他可以访问某些页面,因为这些页面已缓存,并且不会发出任何请求。如果我点击刷新,它就能正常工作。此外,如果用户再次转到登录页面,它不会重定向他,因为该页面也被缓存。

我想到了两个解决方案:

  1. 编写拦截器(类似servlet过滤器)以添加到响应头、无缓存等。
  2. 或在每个页面上放置<meta>标记。

我应该做哪一个?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-05-17 20:49:43

相反,在有问题的页面的HttpServletResponse上设置以下标题,这样您就不需要手动将其复制到所有页面上:

代码语言:javascript
复制
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.

这相当于在页面中手动设置以下元头:

代码语言:javascript
复制
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">

另请参阅this answer。在测试之前,不要忘记清除浏览器缓存;)

票数 30
EN

Stack Overflow用户

发布于 2010-05-17 21:03:50

我发现以下方法效果很好:

代码语言:javascript
复制
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate, max-age=0, proxy-revalidate, no-transform, pre-check=0, post-check=0, private");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);

从这个问题上的标签可以看出,您使用的是Struts。Struts 1.x允许您通过在controller元素上设置nocache="true",在struts-config.xml中进行配置来实现这一点:

代码语言:javascript
复制
<controller processorClass="org.apache.struts.tiles.TilesRequestProcessor" nocache="true" />

如果你想了解更多,Mark Nottingham的caching tutorial是我在网上看到的关于HTTP和缓存的最好的资源。

也就是说,根据您所看到的问题,可能是浏览器历史记录问题。有关这方面的更多信息,请参阅here

票数 5
EN

Stack Overflow用户

发布于 2012-01-31 01:52:52

看起来IE <9仍然会缓存,即使你在头部有杂注: no-cache,并将浏览器设置为在每次页面加载时刷新。在关闭html之前,您需要在第二个head部分中再次添加meta标记。这就是微软本身的观点。

http://support.microsoft.com/kb/222064/

这里没有更好的解释

http://www.htmlgoodies.com/beyond/reference/article.php/3472881/So-You-Dont-Want-To-Cache-Huh.htm

通过测试,您还需要Expires:-1元标记才能使其工作。建议使用Expires:-1,而不是0。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2848945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档