FAQ:CDN、缓存与性能
回答默认缓存、HTML、CF-Cache-Status、Cookie、缓存刷新和浏览器旧内容问题。
编辑与核验:橙宝书编辑团队 ·
开启橙云后,Cloudflare 会缓存整个网站吗?
不会。默认行为主要按文件扩展名判断静态资源,HTML 和 JSON 通常不会自动缓存;请求方法、响应头、Cookie 和规则还会继续影响资格。先读默认缓存行为,不要把 Proxied 等同于“所有内容已缓存”。
HTML 可以缓存吗?
可以,但应只对白名单中的公开、对所有访客相同的页面启用 Cache Rule。登录、账号、购物车、预览和个性化页面先明确绕过;否则可能把一个用户的响应交给另一个用户。
DYNAMIC、BYPASS、MISS 和 HIT 分别说明什么?
DYNAMIC 是请求阶段未进入缓存资格;BYPASS 是已具备资格,但源站响应头或配置阻止存储;MISS 是可缓存但当次没有对象;HIT 才是从 Cloudflare 缓存返回。按证据排查见为什么 CF-Cache-Status 不是 HIT。
第一次 MISS、第二次 HIT 正常吗?
正常。某个数据中心第一次拿不到对象时会回源填充,后续相同缓存键才可能 HIT。Purge 后、对象过期或被逐出后也会重新出现 MISS;用同一 URL、客户端和请求头连续测试,避免同时改变变量。
curl -sS -D - -o /dev/null https://example.com/assets/app.css
curl -sS -D - -o /dev/null https://example.com/assets/app.css有 Set-Cookie 的响应为什么不缓存?
Cookie 往往意味着会话或个性化,Cloudflare 的默认与规则行为会谨慎处理这类响应。先确认 Cookie 是否必要、响应是否公开,再调整源站或窄范围规则;不要为追求 HIT 删除所有 Cookie 或强制缓存私人内容。
Purge Everything 能解决缓存问题吗?
它只能删除现有对象,不能修复错误的缓存资格、键或响应头,还会让全站重新回源。发布优先使用带内容哈希的资源 URL和精准 URL/Tag/Prefix 刷新,流程见精准刷新与发布。
Cloudflare 已刷新,为什么浏览器仍显示旧内容?
边缘缓存和浏览器缓存是两层。Cloudflare purge 不会删除访客设备已保存的对象;检查 Cache-Control、Browser TTL、Service Worker 和 HTML 是否仍引用旧资源。用新隐私窗口和 curl 比较边缘响应,不要只按一次页面刷新下结论。
Cache Key 维度越多越安全吗?
不是。维度太少可能串读或被投毒,太多又会造成碎片和低命中。只有真正改变响应内容的查询参数、header、cookie 或设备维度才应进入键;设计方法见Cache Key 与缓存安全。
官方来源
这篇内容帮你完成目标了吗?
内测反馈只在当前浏览器生成,不会自动上传。