有朋友说给出下面这句最简单的禁止页面缓存的方法
代码如下 | 复制代码 |
header("Cache-Control: no-cache, must-revalidate"); |
这里我先给一段可以使用的php代码:
代码如下 | 复制代码 |
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); |
我们先来了解下HTTP响应的消息,其实我们可以使用Telnet命令来查看,下面我给出点HTTP响应内容:HTTP/1.1 200 OK
Server:Microsoft-IIS/6.0
Date: Thu, 31 Oct 2008 11:20:53 GMT
Content-Type: text/html
Set-Cookie: name=value; path=/
Cache-control: private
下面我们来详细的介绍一下。
代码如下 | 复制代码 |
//设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。 header("Expires: Mon, 26 Jul 1970 05:00:00 GMT"); //设置此页面的最后更新日期(用格林威治时间表示)为当天,可以强制浏览器获取最新资料 header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); //告诉客户端浏览器不使用缓存,HTTP 1.1 协议 header("Cache-Control: no-cache, must-revalidate"); //告诉客户端浏览器不使用缓存,兼容HTTP 1.0 协议 header("Pragma: no-cache"); |
?>
只要把上面代码放到你的php页面的最开始处就好了,要不header函数可能会出错。所以必须放在文档最开始处。