如何防止代理服务器缓存页面?(200分)

  • 主题发起人 主题发起人 yuanzi
  • 开始时间 开始时间
Y

yuanzi

Unregistered / Unconfirmed
GUEST, unregistred user!
有的代理服务器,会将动态生成的页面缓存起来,而这并不是我们所希望的,怎样来防止代理服务器缓存页面。
有一种方法是在链接后加上一个随机的参数,这样,代理服务器会认为是不同的请求,从而解决这个问题,可一个站点,会有很多链接,这样是不是太麻烦了点?
今天上yahoo注册,在填写个人信息页面,他会生成一个图片附加码,拷贝上地址栏的地址,重新开浏览器,发生依然是从yahoo上取的信息,(附加码改变了),而我们并没有改变url,对于代理服务器来说,请求是没有改变的,请问他是如何来实现的?
 
用什麼代理的?
>>发生依然是从yahoo上取的信息,(附加码改变了),而我们并没有改变url,对于代理服>>务器来说,请求是没有改变的
是不是你本机的缓存页面?
 
公司的代理服务器是什么,不是很清楚。
这不是我本机的缓存页面,这个我自己测试过,并且一开始就想到本机的缓存!
 
是不是在IE中设置
 
IE中也设置了,不过为了定位问题,将本机的临时文件都已经删除了。
 
奇怪了.
代理服務器會自動檢查內容是不是已經改變了的呀!
你都不知道用什麼代理的,就算是代理的問題,那你怎麼改呀?
 
我不考虑修改代理服务器的设置,因为这不能从根本上解决问题,我可以修改自己公司的代理服务器,而不能修改其他用户的代理服务器,对于其他用户来说,这并没有解决问题。
 
有专门的 HTTP 头的,它会告诉浏览器和中间的代理服务器不要缓存该页。
 
OK,能不能说得更清楚一点?
 
你看这样可以吗?
1, 使用java提供的方法设置http头信息,在jsp或者servlet中都可以
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>
2, 使用HTML标记,如下:
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</HEAD>
 
谢谢,这个方法我试过,还是不能解决问题。
 
你用yangxiao_jiang,的方法,
然后,试的时候,把TOMCAT 下的WORK里的东西删除干净了,
然后,再试试!
 
  你可以这样子
  用yangxiao_jiang设置http头信息然后再加上这一句:response.setHeader("Cache-Control", "private");作用是使代理服务器无法共享高速缓存的页面,这样应该可以防止了!
 
参考
http://www.java-cn.com
 
用cookies控制
 
后退
顶部