首发站点
扶凯[http://www.php-oa.com]
关于IE缓存的解决方案(HTML,JSP,ASP,PHP,C#)
上一篇 /
下一篇 2008-03-21 17:46:00
/ 个人分类:PHP技术
禁止服务器端缓存:
Response.Expires = 0 或<meta http-equiv="Expires" CONTENT="0">
禁用客户端缓存。
HTML网页
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
ASP网页
<% Response.Expires = -1 Response.ExpiresAbsolute = Now() - 1 Response.cachecontrol = "no-cache" %>
PHP网页
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache");
JSP
response.setHeader("Pragma","No-Cache"); response.setHeader("Cache-Control","No-Cache"); response.setDateHeader("Expires", 0);
C#中禁止cache的方法!
Response.Buffer=true; Response.ExpiresAbsolute=System.DateTime.Now.AddSeconds(-1); Response.Expires=0; Response.CacheControl="no-cache";
Tags: html, JSP, php, 缓存
你可能还有兴趣的文章
导入论坛
引用链接
收藏
分享给好友
管理
举报
TAG:
02 24th, 2008 at 12:13 pm
呵呵,你的工作进度抓得很紧嘛。
签名
---
写程序的兄弟开始抱怨了吧?
02 24th, 2008 at 3:35 pm
哈哈,还没有
03 5th, 2008 at 9:40 pm
请区分meta标签和HTTP协议头。squid这样的代理服务器是不读取解析HTML正文内容的,而HTTP协议的的header信息中间代理会读取的。如果希望准确的控制网页的缓存行为,就不要依赖于meta标签,借用《开发出高性能的网站-第二部分 — 最佳缓冲控制》中的一句话,它说“反正浏览器也要读HTTP headers,所以标签的缓冲控制并不太被网站开发人员所青睐。”(作者 Thomas A. Powell, Joe Lima )。
对静态的页或图片等web服务器通常有自己的的缓存控制策略。例如apache的mod_expires,加载了模块之后,apache就会根据相应的配置语句为文件设置相应的response HTTP header
squid这样的外部缓存加速代理服务器理论上不依赖于apache。也就是说让代理做代理的事,web做web的事,即使apache不做任何设置,squid也有方法cache住内容,所以就有了refresh_pattern。
03 6th, 2008 at 9:42 am
非常非常不错,今天一早就读完了这个.太有用了.