You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

服务端Web应用禁用缓存的常用HTTP Header及相关控制方案咨询

回答

业界存在明确的约定方案,分为标准HTTP头和常用自定义头两类:

1. 标准HTTP头(优先推荐使用)

RFC 7234定义的标准请求头 Cache-Control 取值为 no-cache 时,语义本身就要求服务端不能直接返回未验证的缓存副本,必须回源拉取最新内容,这是全球通用的官方约定。
你可以直接在PHP应用中检测请求头中的Cache-Control是否包含no-cache,满足条件时就跳过内部缓存直接拉取CMS的最新内容即可。
这个方案还有额外优势:用户按下浏览器强制刷新快捷键(通常是Ctrl+F5/Command+Shift+R)时,浏览器会自动发送Cache-Control: no-cache头,不需要额外开发浏览器扩展也能实现无缓存访问,完全兼容现有用户操作习惯。

2. 常用自定义头

如果需要和浏览器原生的缓存控制逻辑做区分,只针对你的应用内部缓存做绕过,业界还有两个约定俗成的自定义头可选:

  • X-No-Cache: 1
  • X-Cache-Bypass: 1
    这两个头被大量CDN、反向代理、自研Web系统广泛使用,认知度很高。注意目前IETF不推荐新的通用协议头使用X-前缀,但私有场景下的约定使用没有问题。

实现建议

  • 如果没有特殊区分需求,优先用标准的Cache-Control: no-cache,不需要额外自定义协议,兼容性最好。
  • 可以增加权限校验逻辑,仅登录态的编辑人员允许通过头绕过缓存,避免普通用户随意触发回源拉取导致服务器压力升高。
  • 浏览器扩展只需在开关开启时,给匹配你站点域名的所有GET请求注入对应头即可,实现成本很低。

内容的提问来源于stack exchange,提问作者cweiske

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:24:02