IE cache 问题

 

  IE cache, 大家都知道的问题,小记一下。

 

  今天QA给提出了bug,说登出系统之后,输入刚才的URL,依然能访问原来的页面(但是有任何操作就会返回到登陆的页面),想想实际上她访问到的是IE的缓存,只要清除调IE的缓存就好。

 

  清除IE缓存的方法有两种,一是在浏览器端控制,二是在服务器端返回Response的时候设置Response的Header信息。

 

浏览器端:

在JSP页面中加入META标签 

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0"> 

 

  • <META HTTP-EQUIV="Pragma" CONTENT="no-cache">, 是用于设定禁止浏览器从本地机器的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出
  • <META HTTP-EQUIV="Expires" CONTENT="0">, 可以用于设定网页的到期时间(失效时间), 一旦网页过期,必须重新向服务端发出请求,而不会使用浏览缓存中的内容。

 

服务器端:

response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0); 
 

设置HTTP头,看着和JSP页面中的选项非常的相似。

 

自己实验了一下在JSP页面中加上META标签的属性就成功了,所以服务器端的代码就没有加上,而且也不太现实,代码修改量实在是太大了。

 

 

 

 

相关参考:

 

 

 

你可能感兴趣的:(jsp,cache,浏览器,IE)