在Tomcat 6中禁用浏览器缓存

时间:2012-03-01 14:14:31

标签: jsp tomcat browser-cache

我们希望Web服务器在包含敏感内容的所有响应中返回以下http标头:

Cache-control:no-store
Pragma:no-cache.

我们正在使用tomcat server 6.0版本。

请建议我们必须在哪里进行更改。

2 个答案:

答案 0 :(得分:1)

像这样的Servlet过滤器应该有所帮助:

public class ResourceCacheFilter implements Filter {
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse res = (HttpServletResponse) response;
        res.setHeader("Cache-Control", "no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
        res.setHeader("Pragma", "no-cache");
        chain.doFilter(request, response);
    }
}

答案 1 :(得分:0)

根据您的安全约束,您可以设置tomcat valve以使securePagesWithPragma为true(默认值),这将根据您的请求设置标头。 有关详细信息,请参阅Tomcat6 Valve Documentation以及Tomcat: Cache-Control