在 php 中禁止页面缓存的代码相当简单, 只要利用 php header()浏览器发送一个 Cache-Control: no-cache 或设置页面缓存过期时间为你今天之前就可以了
有朋友说给出下面这句最简单的禁止页面缓存的方法, 代码如下:
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
下面我们来详细的介绍一下, 代码如下:
- <?php
- // 设置此页面的过期时间(用格林威治时间表示), 只要是已经过去的日期即可
- 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 函数可能会出错, 所以必须放在文档最开始处.
来源: https://www.php1.cn/detail/php-e3f0933f61.html