项目在Spring框架上运行,处理请求的Handler类扩展了MultiActionController。
我添加了以下代码以在Response Header中设置Cache-Control参数。
httpServletResponse.addHeader("Cache-Control", "no-cache, no-store, must- revalidate,max-age=0,private,pre-check=0,post-check=0");
httpServletResponse.addHeader("Pragma", "no-cache");
httpServletResponse.addDateHeader("Expires", -1);
甚至,在JSP页面中,我还包括以下几行:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Cache-Control" content="max-age=0" />
<meta http-equiv="Cache-Control" content="must-revalidate" />
<meta http-equiv="Cache-Control" content="private" />
<meta http-equiv="Cache-Control" content="pre-check=0" />
<meta http-equiv="Cache-Control" content="post-check=0" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
当我使用Firebug在fire fox上调试页面时,响应头显示如下:
和缓存标签如下:
这种情况只发生在一个页面上,剩下的页面没有被缓存。这是什么原因?请帮我解决。
答案 0 :(得分:0)
看看https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching_FAQ。这是重要的部分:
mozilla缓存保存用户通过HTTP下载的所有文档。 起初这可能看起来很奇怪;然而,这是为了访问 可用于后退/前进,保存,查看源等的文档 无需额外的服务器之旅。同样如此 改进了缓存内容的离线浏览。