惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
AI
AI
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - 三生石上(FineUI控件)
Google Online Security Blog
Google Online Security Blog
N
News and Events Feed by Topic
Microsoft Security Blog
Microsoft Security Blog
AWS News Blog
AWS News Blog
S
Securelist
Schneier on Security
Schneier on Security
MyScale Blog
MyScale Blog
W
WeLiveSecurity
Hacker News: Ask HN
Hacker News: Ask HN
爱范儿
爱范儿
阮一峰的网络日志
阮一峰的网络日志
Project Zero
Project Zero
Recent Commits to openclaw:main
Recent Commits to openclaw:main
P
Proofpoint News Feed
I
Intezer
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
T
The Exploit Database - CXSecurity.com
宝玉的分享
宝玉的分享
L
LINUX DO - 热门话题
月光博客
月光博客
C
CERT Recently Published Vulnerability Notes
F
Fortinet All Blogs
GbyAI
GbyAI
博客园 - 聂微东
F
Full Disclosure
L
LINUX DO - 最新话题
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
IT之家
IT之家
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Security Affairs
I
InfoQ
The Hacker News
The Hacker News
雷峰网
雷峰网
Hacker News - Newest:
Hacker News - Newest: "LLM"
V2EX - 技术
V2EX - 技术
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
SecWiki News
SecWiki News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
大猫的无限游戏
大猫的无限游戏
博客园_首页
B
Blog RSS Feed
S
Secure Thoughts
A
About on SuperTechFans

博客园 - 陈晓猛

验证网络ipv6的可用性 docker compose对应的内容,创建thread网络后连接设备 ONVIF协议与RTSP协议 OpenClaw:接入minimax-2.5的新手指引 Windows 端 OpenClaw 安装教程(保姆级) 使用zigbee2mqtt模拟发送信息 HA上配置MQTT esphome模拟IOT设备连接到HA ESPHome模拟设备脚本 自制hash_v1和hash_v2种子文件 接口 CDN(动态 CDN/API 网关 CDN)测试用例 接口接入cdn和网页接入cdn的区别 pip安装依赖包报错内容为User defined options,Native files 如何解决 MCP:Trae中集成Playwright 实现网页自动化测试 测试用例设计检查项 如何给Playwright 添加 MCP(Microsoft Playwright Component Testing) npm 无法加载文件npm.ps1 文档收集地址 Ugreen记录验证不同国家码对应的跳转链接 error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\HostX86\x64\cl.exe' failed with exit code 2 解决方案 - 陈晓猛 VScode在顶部生成作者信息 Cursor使用小技巧(待更新) Trae 接入 Claude 3.7:AI 编程工具界的“卷王”,完全免费 提高研发效能——基于 DeepSeek-V3的本地化实践 大模型&ai学习课程一些笔记 P图训练模型 python3安装crypto出错及解决方法 windows搭建syncthing中继服务器和发现服务器
cf-cache-status共有几种状态分别会在什么情况下产生
陈晓猛 · 2025-12-02 · via 博客园 - 陈晓猛

参考文献 cloudflare的 cache状态

https://developers.cloudflare.com/cache/concepts/cache-responses/

Cloudflare 的Cf-Cache-Status包含10 种常见状态,每种状态对应不同的缓存处理场景,具体如下(按使用频率排序):

  • 产生场景:请求的资源已存在于 Cloudflare 边缘节点的缓存中,且未过期,直接从缓存返回响应。
  • 示例:静态资源(如图片、CSS)第二次请求时,CDN 节点已缓存该资源,无需回源。
  • 产生场景:请求的资源不在 Cloudflare 缓存中,需回源站获取资源,同时将资源缓存到边缘节点(后续请求可能命中)。
  • 示例:首次请求某静态资源,或缓存已被清除 / 过期后首次请求。
  • 产生场景:Cloudflare 判定该资源为动态内容(如带敏感参数的 GET 请求、POST 请求),默认不缓存,直接回源站处理。
  • 示例:用户个人信息接口(含user_id参数)、登录请求,或未配置缓存规则的动态页面。
  • 产生场景:资源本可缓存,但被以下规则强制绕过:
    • 源站响应头包含Cache-Control: no-cache/private/max-age=0
    • 响应头包含 Cookie(默认认为是个性化内容);
    • 请求包含Authorization鉴权头;
    • 缓存规则中配置了 “Bypass” 策略。
  • 示例:登录后的后台页面(携带用户 Cookie)、源站要求不缓存的资源。
  • 产生场景:缓存中存在该资源,但已超过max-ageExpires设置的过期时间,需回源站获取最新资源并更新缓存。
  • 示例:静态资源缓存时间(如 1 小时)已到,再次请求时回源更新。
  • 产生场景:缓存资源已过期,但源站不可用(如宕机、网络故障),Cloudflare 临时返回过期的缓存资源(保障服务可用性)。
  • 示例:源站服务器崩溃时,CDN 节点返回已过期的静态页面。
  • 产生场景:缓存资源已过期,Cloudflare 通过If-Modified-Since/If-None-Match头向源站验证资源是否更新:
    • 若源站返回304 Not Modified,则更新缓存过期时间并返回旧缓存;
    • 若源站返回新资源,则更新缓存并返回新内容。
  • 示例:静态资源过期后,CDN 向源站验证资源是否有变化,避免无意义的资源传输。
  • 产生场景:缓存资源已过期,但源站正在处理更新请求(仅在高并发场景下触发,避免大量请求同时回源)。此时先返回过期缓存,同时后台更新缓存。
  • 示例:热门资源(如热点新闻图片)缓存过期后,大量请求同时到达,CDN 仅用一个请求回源,其余请求先返回旧缓存。
  • 产生场景:请求未到达缓存层,直接由 Cloudflare 处理:
    • Worker 直接生成响应(未触发缓存);
    • WAF 拦截了恶意请求(请求被阻断,未到缓存);
    • 重定向规则(如 HTTP 跳转 HTTPS)触发的响应。
  • 示例:请求被 WAF 判定为攻击,直接返回 403 错误,无缓存处理。
  • 产生场景:启用 Cloudflare “分层缓存” 功能后,边缘节点未缓存资源,但上层区域节点(如区域中心节点)已缓存,从区域节点获取资源(减少跨区域回源)。
  • 示例:小流量边缘节点未缓存资源,但区域中心节点已缓存,直接从区域节点获取。

这些状态覆盖了 CDN 从 “缓存命中” 到 “回源处理” 的全流程,可通过Cf-Cache-Status快速定位资源的缓存处理逻辑,优化 CDN 配置(如减少 MISS、DYNAMIC 占比)。

声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/ 如出现转载未声明 将追究法律责任~谢谢合作