橙宝书
CDN 与网站加速

09 · CMS、SaaS 与 AI 制作应用的缓存策略

按公开性、身份、方法和生命周期给 CMS、SaaS、图片与 PDF 工具分区,避免把 AI 生成代码中的动态页面误缓存。

编辑与核验:橙宝书编辑团队 ·

CDN · PHASE 3进阶约 30 分钟CMS · SaaS · 图片/PDF 工具

这里的 AI 应用是什么意思

本篇所说的是用 ChatGPT、Codex、Cursor 等 AI 辅助做出来的普通应用,包括 SaaS、CMS、图片转换、PDF 处理和业务工具;不是专指 AI Agent、聊天机器人或模型 API。缓存边界由 HTTP 行为和数据隐私决定,与代码是不是 AI 生成无关。

先让请求通过四个问题

flowchart TD
  A[一个 URL 或路由] --> B{所有用户看到相同内容?}
  B ----> X[Bypass shared cache]
  B ----> C{是否仅安全读取?}
  C ----> X
  C ----> D{是否携带身份或返回 Set-Cookie?}
  D ----> X
  D ----> E{内容变化时能换 URL 或精准刷新?}
  E ----> F[短 Edge TTL + 重新验证]
  E ----> G[Eligible + 按生命周期设置 TTL]

“公开 URL”不等于“公开响应”。若同一个 URL 会根据 Cookie、Authorization、租户、地区、语言、实验组或权限返回不同内容,就必须先证明缓存键能完整表达所有变体;对新手而言,默认绕过通常更安全。

三类应用的推荐分区

区域示例初始策略
指纹资源主题 JS/CSS、公开图片缩略图长 Edge 与 Browser TTL
已发布内容文章、分类、公开 Feed短 Edge TTL,编辑发布后精准刷新
预览与后台/preview/*/admin/*Bypass,保留身份与草稿 Cookie
搜索与个性化站内搜索、推荐、会员内容默认 Bypass,再按是否真正公开细分

一个可复用的应用结构

www.example.com        公开营销与文档,可审慎缓存 HTML
app.example.com        登录后的 SaaS/CMS 工作区,动态内容默认绕过
assets.example.com     指纹静态资源,长 TTL
files.example.com      上传与结果;按对象公开性单独授权,不继承营销站规则

分 Hostname 不是安全机制本身,但能让规则、监控和证书边界更清楚。不要把 www 的 Cache Everything 规则无意间覆盖到 appfiles

AI 生成代码最常见的缓存误区

误区为什么危险修正方式
“GET 都能缓存”GET 可能按 Cookie 返回账户数据,甚至错误地产生副作用同时审计身份、响应头与业务动作
“查询参数会自动隔离用户”参数可能可猜、可遗漏或包含敏感值私有响应绕过;不要拿 URL 当授权
“TTL 设短就不会泄露”一秒的共享缓存也可能把响应给错误用户私有内容根本不进入共享缓存
“清 Cloudflare 就能撤回所有缓存”浏览器缓存无法被边缘 Purge 远程收回可变 URL 使用短 Browser TTL 或版本化
“看到 HIT 就是优化成功”登录、账单或私有文件 HIT 反而是事故信号以正确性和跨用户隔离为首要验收

上线前用两种身份、三个动作测试

匿名客户端

访问营销页、公开内容和静态资源两次,记录 CF-Cache-StatusAge、缓存控制头和页面是否含个性化信息。

账号 A 与账号 B

分别登录、查看 Dashboard、更新资料、退出。两者的 HTML、JSON、下载 URL 与错误页都不得互相出现;检查首个页面是否保留 Set-Cookie 与 CSRF 状态。

创建、撤销与发布

在 CMS 发布再撤稿,在 SaaS 撤销公共分享,在图片/PDF 工具删除结果。记录从业务动作到边缘与浏览器不再提供旧内容的最坏时间,超过目标就进入下一阶段设计精准刷新。

继续学习 Cache Key 安全、发布刷新和多级缓存;在此之前,先确保本页所有私有路径都能稳定绕过。

官方来源

这篇内容帮你完成目标了吗?

内测反馈只在当前浏览器生成,不会自动上传。

本页目录