论坛首页 入门技术论坛

关于按IE的后退按钮,防止IE访问缓存页面。

浏览 2470 次
该帖已经被评为新手帖
作者 正文
   发表时间:2009-12-05   最后修改:2009-12-05
按照网上搜索出来的流行方式,不管是服务器代码,还是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>



论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics