按照网上搜索出来的流行方式,不管是服务器代码,还是html的meta标签,通常情况是没问题的,但
当使用了代理服务器的时候,按后退按钮后,还是直接显示了缓存的页面,没有重新去服务器执行action(struts).
(其他浏览器都没有问题:firefox,safari,google)
有高手解释下么??
测试环境,在公司内部测试,通过代理去访问apache服务器(如果直接访问apache,以下的方法是可以的)。
最近考虑了另外一种方法:就是利用cookie来做文章,防止IE去访问缓存页面,不知道这样行得通不?
(测试的时候,当按后退按钮之前,我先把ie的浏览历史纪录删除掉了,然后按后退按钮,会重新执行action)
注:后退的那个页面是需要每次认证的,所以按了后退按钮后,该自动跳转到登陆页面,而不是把缓存的页面
显示出来(用户信息隐私)。
网上那些常用代码:
<%
//让浏览器不缓存jsp页面
response.setHeader("Pragma","No-cache"); http1.0
response.setHeader("Cache-Control","no-store,no-cache"); http1.1
response.setHeader("Expires", "0");
response.setDateHeader("Expires", 0); 这个是针对代理的?但我设置后还是没达到效果。不解!!
%>
或者meta:
<html>
<head>
<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">
</head>
当使用了代理服务器的时候,按后退按钮后,还是直接显示了缓存的页面,没有重新去服务器执行action(struts).
(其他浏览器都没有问题:firefox,safari,google)
有高手解释下么??
测试环境,在公司内部测试,通过代理去访问apache服务器(如果直接访问apache,以下的方法是可以的)。
最近考虑了另外一种方法:就是利用cookie来做文章,防止IE去访问缓存页面,不知道这样行得通不?
(测试的时候,当按后退按钮之前,我先把ie的浏览历史纪录删除掉了,然后按后退按钮,会重新执行action)
注:后退的那个页面是需要每次认证的,所以按了后退按钮后,该自动跳转到登陆页面,而不是把缓存的页面
显示出来(用户信息隐私)。
网上那些常用代码:
<%
//让浏览器不缓存jsp页面
response.setHeader("Pragma","No-cache"); http1.0
response.setHeader("Cache-Control","no-store,no-cache"); http1.1
response.setHeader("Expires", "0");
response.setDateHeader("Expires", 0); 这个是针对代理的?但我设置后还是没达到效果。不解!!
%>
或者meta:
<html>
<head>
<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">
</head>