php如何禁用浏览器缓存页面_php设置no-cache响应头与meta标签

大墨同学_4765

大墨同学_4765

2025-11-26

750人浏览

原创

答案:通过设置PHP响应头和HTML meta标签可防止浏览器缓存页面。具体为在PHP中使用header()发送Cache-Control、Pragma、Expires等头信息,并在HTML的中添加对应meta标签,两者结合使用可确保登录页、动态数据等敏感内容不被缓存,且header必须位于输出前执行。

php如何禁用浏览器缓存页面_php设置no-cache响应头与meta标签

要让浏览器不缓存 PHP 页面,可以通过设置 HTTP 响应头和在 HTML 中添加 meta 标签两种方式。这两种方法结合使用,能更有效地防止页面被缓存。

设置 no-cache 响应头

在 PHP 脚本中输出响应头,可以强制浏览器每次请求都从服务器重新加载页面,而不是使用本地缓存。

以下是一组常用的 PHP 代码,用于禁用缓存:

header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Expires: -1");

说明:

  • Cache-Control: no-store, no-cache, must-revalidate —— 禁止缓存并要求重新验证。
  • max-age=0 —— 表示资源已过期,需重新请求。
  • Pragma: no-cache —— 兼容 HTTP/1.0 协议的旧客户端。
  • Expires: -1 —— 设置过期时间为过去,表示已过期。

这段代码应放在任何输出(如 echo、HTML 内容)之前执行,否则会因 headers 已发送而失效。

使用 HTML meta 标签禁用缓存

如果无法控制服务器响应头(例如某些共享主机限制),可以在页面的

htmlppt.skill
htmlppt.skill

把任意文章或文档内容转换成精美的全屏翻页 HTML 演示文件(幻灯片风格)。当用户发来一篇文章、文档链接、Markdown 内容、或粘贴的文本,并且希望生成演示用的 HTML 时触发。支持任意内容来源:iWiki 链接、KM 链接、本地文件路径、直接粘贴的文本。生成的 HTML 文件保存到本地工作区,并通过企微直接发送给用户。触发词示例:帮我把这篇文章做成PPT、转成演示文档、生成HTML幻灯片、做个演示、转成可以演示的格式、article to deck、make a slide。

下载
区域加入 meta 标签:
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Expires" content="-1">

注意: meta 标签仅对部分浏览器有效,尤其是用户手动刷新时可能仍会使用缓存。它不能替代服务器端的 header 设置,建议两者配合使用。

实际应用场景

这类设置常用于以下情况:

  • 登录或管理后台页面,防止敏感信息被缓存。
  • 动态数据展示页,确保用户看到最新内容。
  • 表单提交后返回的页面,避免重复提交警告。

例如,在用户登出后跳转的页面加上这些头信息,可防止他人通过浏览器历史记录查看之前的内容。

基本上就这些。只要在 PHP 文件开头正确设置响应头,并辅以 meta 标签,就能有效阻止大多数浏览器缓存页面。关键是确保 header 函数调用早于所有输出。

php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

相关专题

更多
http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.09

3823

4

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

2023.11.14

954

3

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

2024.03.12

6726

8

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.08.16

5510

6

Go 语言 HTTP 编程与中间件开发教程合集
Go 语言 HTTP 编程与中间件开发教程合集

全面讲解 Go 语言 HTTP 编程的核心知识,涵盖 net/http 标准库的 Server/Handler/HandlerFunc 体系、DefaultServeMux 路由注册与自定义路由器、Request / ResponseWriter 请求响应处理、中间件(Middleware)链式设计模式与常见中间件(日志/CORS/认证/限流)开发、http.Client 的超时配置与连接池管理、Cookie / Session 处理、

2026.05.08

561

31

Tailwind CSS 如何制作导航栏和卡片
Tailwind CSS 如何制作导航栏和卡片

用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。

2026.11.03

0

17

Tailwind CSS 响应式布局怎么写
Tailwind CSS 响应式布局怎么写

Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。

2026.11.03

0

19

Tailwind CSS 常用类名怎么记
Tailwind CSS 常用类名怎么记

Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。

2026.11.03

0

12

码上飞入口地址合集
码上飞入口地址合集

本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。

2026.11.03

0

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
墨刀帮助中心
墨刀帮助中心

共0课时 | 0人学习

MyEclipse学习中心
MyEclipse学习中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习