我正在使用以下代码。
<%
response.addHeader("Cache-Control","no-cache");
response.addHeader("Pragma","no-cache,no-store,private,must-revalidate,max-stale=0,post-check=0,pre-check=0 ");
response.addDateHeader ("Expires", 0);
%>
它在IE中运行良好,但页面仍然在Firefox中缓存。我想在Firefox中停止缓存。有什么建议吗?
答案 0 :(得分:10)
您会混淆Cache-Control
和Pragma
标头。交换它们。 Firefox也需要no-store
上的must-revalidate
和no-cache
。
response.addHeader("Cache-Control", "no-cache,no-store,private,must-revalidate,max-stale=0,post-check=0,pre-check=0");
response.addHeader("Pragma", "no-cache");
response.addDateHeader ("Expires", 0);
更重要的是,no-cache,no-store,must-revalidate
只有Cache-Control
足以让它在浏览器中运行。
与具体问题无关,我建议将这段代码放在Filter
类中,并在*.jsp
上映射,而不是在所有JSP文件上复制相同的代码。 d想要禁用浏览器缓存。