卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章72163本站已运行4229

php如何实现页面过期

php 中设置页面过期可以通过 header() 函数设置 expires 或 cache-control 头:expires 头指定页面过期时间,之后浏览器将重新加载页面。cache-control 头更灵活,可指定过期时间、缓存器行为等:max-age:页面在缓存中保存时间(秒)。public/private:页面是否可由公共缓存或仅用户代理缓存。浏览器根据过期头决定是否重新加载页面:距离过期时间小于 10%,继续使用缓存页面。距离过期时间大于或等于 10%,重新加载页面。页面不在缓存中,始

php如何实现页面过期

PHP 如何实现页面过期

PHP 中可以通过设置 header() 函数中的 Expires 或 Cache-Control 来实现页面过期。

使用 Expires 头

Expires 头指定了页面到期的时间,在此时间点之后,浏览器将不会再从缓存中获取页面,而是重新加载它。

// 当前时间戳 + 1 小时
$expires = time() + 3600;

// 设置 Expires 头
header("Expires: " . gmdate("D, d M Y H:i:s", $expires) . " GMT");

使用 Cache-Control 头

Cache-Control 头更灵活,它允许指定过期时间、缓存器行为等。

  • max-age: 指定页面在缓存中保持的时间,单位为秒。
  • public/private: 指定页面是否可以由公共缓存或仅由用户代理缓存。
// 当前时间戳 + 1 小时
$max_age = 3600;

// 设置 Cache-Control 头
header("Cache-Control: public, max-age=$max_age");

浏览器行为

浏览器接收到过期的头部后,将执行以下操作:

立即学习“PHP免费学习笔记(深入)”;

  • 如果页面在缓存中,并且距离过期时间小于 10%,浏览器将继续使用缓存的页面。
  • 如果页面在缓存中,并且距离过期时间大于或等于 10%,浏览器将重新加载页面。
  • 如果页面不在缓存中,浏览器将始终重新加载页面。

注意

  • 过期头部应在页面内容发送给浏览器之前设置。
  • 设置过期头后,客户端缓存将根据过期时间决定是否重新加载页面。
  • 浏览器行为可能因浏览器不同而有所不同。
卓越飞翔博客
上一篇: 如何用php制作日历 谢谢
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏