php实现禁止缓存
来源:互联网 发布:小程序三级分销源码 编辑:程序博客网 时间:2024/06/06 01:14
在某些特殊的情况下或许你不希望使客户端浏览器缓存页面。这里我先给一段可以使用的php代码:
header(”Expires: Mon, 26 Jul 1997 05:00:00 GMT”);header(”Last-Modified: “.gmdate(”D, d M Y H:i:s”).” GMT”);header(”Cache-Control: no-cache, must-revalidate”);header(”Pramga: no-cache”);
我一一为大家解释下代码的意思, 当然,高手莫笑!
header 是什么,当然这里不是说php中header函数的功用,不知道header函数的朋友, 这篇博文不适合你~
先来了解下HTTP响应的消息到底是什么,其实 可以使用Telnet命令来查看 ,下面我给出点HTTP响应内容:
HTTP/1.1 200 OKServer:Microsoft-IIS/6.0Date: Thu, 31 Oct 2008 11:20:53 GMTContent-Type: text/htmlSet-Cookie: name=value; path=/Cache-control: private<html>……
上面的信息中,第一行为状态行,紧跟状态行后面的内容是消息头(是我们今天的重点),接着是一个空行,接着是实体。
这里我们重点(也是简要)说说消息头,消息头按照作用可以分为4类,通用信息头、请求头、响应头、实体头。
通用信息头 既能用于请求信息中,也能用于响应信息中,(请求信息由客户机发送到服务器,响应信息由服务器发送到客户机)但与被传输的实体内容没有关系的常用信息头,如Date、Pragma。
请求头 用于在请求信息中向服务器传递附加信息,主要包括客户机可以接受的数据类型,压缩方法,语言,以及客户机上保留的Cookie信息和发出该请求的超链接资源地址等。
响应头 用于在响应信息中想客户机传递附加信息,包括服务器程序的名称,要求客户端认证的方式,请求的资源已经移动到新地址等等。
实体头 用作实体内容的信息,也就是可以解释成我们看到的东西的主体内容。
好了,这里开始真正说到为什么要用开始给的禁止缓存的代码了:
首先代码第一行是一个实体头,看着是不是眼熟啊?设置Cookie过期是不是也用到了Expires呢?这里设置了一个过去的时间,以此来达到让客户端禁止缓存的目的,这种方法在绝大多数情况下是可用的。但是还是有必要让我们众多的浏览器知道一些其他的信息!
第二行 也是一个实体头,说明了我们文档的更新时间。这个是为了让在客户机已经缓存文件的情况下,向服务器证实现在缓存的文档是最新的。当然如果不是最新的,服务器会发送一个新的版本过来。
第三行从字面意思就很好理解了,禁止客户端缓存,每次请求都必须验证文档是最新的。这也是为什么需要第二行信息的原因了,文档必须为最新的版本(不然,客户一直在使用一千年前你做的页面多么不好~)
第四行和第三行一样都是一个通用信息头,而且Pragma只有一个值就是no-cache!它用来指示HTTP1.0客户机不要缓存文档。不过有些HTTP1.0的浏览器对这个支持不太好。在HTTP1.1中大家也都是第三行代码就完事,这里为什么用?保险嘛(其实原来我没有加这行,见到很多人加了,我也就跟风了)~
好了,关于禁止缓存就说这么多了,个人感觉还是很有用的。这里涉及到了HTTP信息头的问题,不懂的就翻翻资料吧, 因为我很懒 ,其实是一大堆工作,因为我是从事电话录音卡销售工作的,今天就到这里了 ,没事多来我空间逛逛,说不定会有很大收获哦!
- php实现禁止缓存
- PHP禁止页面缓存
- PHP禁止浏览器缓存
- php禁止页面缓存输出
- php 禁止页面缓存代码
- html禁止缓存的方法,asp禁止缓存的方法,php禁止缓存的方法,jsp禁止缓存的方法
- html禁止缓存的方法,asp禁止缓存的方法,php禁止缓存的方法,jsp禁止缓存的方法
- php禁止浏览器使用缓存页面
- htm,asp,php 禁止页面缓存
- php添加http头禁止浏览器缓存
- 有时候需要禁止缓存,实时获得最新数据,html、PHP、asp、jsp禁止缓存的方法
- 禁止缓存
- 禁止缓存
- 禁止缓存
- PHP缓存的实现
- PHP缓存的实现
- PHP缓存的实现
- PHP缓存的实现
- java日期工具类DateUtil-续二
- android 游戏导引(3. 图形引擎之模型管理)
- C语言中给指定的内存地址赋值(通过指针)
- 数据库连接池
- Msysgit 快捷键
- php实现禁止缓存
- IT⼯工作的⼀一些经验和教训(转自http://bbs.nju.edu.cn/)
- jsp 隐藏textarea的滚动条
- 2012年终总结
- android 游戏导引(4. 简单纹理贴图)
- MySQL子查询很慢的问题
- DWREngine.setAsync(false)
- javascript通过className獲取文件元素
- Mysql 相关