公众号旧文
Cloudflare 给源站做免费缓存,不亏吗?
很早就知道CDN,也很早就知道CDN的作用。
然而直到写上篇文章的时候,才第一次体验了 Cloudflare 的免费 CDN。
用上以后,脑子里自然会冒出一个疑问:
它图什么?
1、Cloudflare:互联网里的中间站
假设我有一台服务器放在美国。
而访问者在中国、日本、欧洲。
如果每个人访问图片、CSS、JS,都直接去美国服务器拿:
用户 → 美国服务器
距离远、延迟高、速度慢。
而 Cloudflare 的做法是:
用户 → Cloudflare 边缘节点 → 源站服务器
Cloudflare 在全球很多地方部署机房。

像上图中的响应头里:
cf-ray: ...-NRT
这里的 NRT 就代表东京附近节点。
也就是说,我刚访问自己的网站时,请求并没有去美国,而是到了东京。
如果东京节点已经缓存了资源:
cf-cache-status: HIT
就直接返回。
根本不用回源。
2、如果第一次访问:MISS
当第一次访问某张图片时,Cloudflare 本地可能没有:
cf-cache-status: MISS
它会做两件事:
- 去源站拉资源
- 在本地缓存一份
流程像这样:
用户 → 东京节点 → 美国源站
↓
保存缓存
之后第二个人访问:
用户 → 东京节点
便会直接命中。
3、为什么它愿意帮你缓存?
估计很多人会和我一样:
那 Cloudflare 不是亏死?
毕竟 SSD、机房、带宽都要钱。
但实际上缓存比回源更省钱。
举个例子:
一张图片 200KB。
一天 100 万次访问:
200KB × 1,000,000 ≈ 200GB
如果每次都回源,Cloudflare 要承担公网传输、连接建立、延迟成本。
但缓存,只拉一次。
后面都在边缘节点内部处理。
内部流量远比公网便宜。
所以缓存热门资源,本质上是在降低自己的运营成本。
4、它不会傻傻地存一切
Cloudflare 不是无限存储。
它只缓存值得缓存的东西。
常见规则:
1)有人访问才缓存
不是提前全网同步。
而是有人访问 → 拉取 → 缓存
没人访问就不存。
2)热门资源留下
热门资源会一直留着。
冷门资源长期没人访问,会被淘汰。
这有点像电脑内存管理里的 LRU(最近最少使用)。
3)按地区缓存
东京有人访问,东京缓存。
纽约有人访问,纽约缓存。
不是全球复制,这样更节省空间。
5、响应头里都藏着答案
打开浏览器 F12 → Network → Headers
你能看到很多信息。
比如:
cf-cache-status: HIT
命中缓存。
age: 5927
表示缓存已经存活 5927 秒,大约 98 分钟。
cache-control: public, max-age=2592000
允许缓存 30 天。
expires: ...
过期时间。
server: cloudflare
说明经过了 Cloudflare。
6、免费的大善人?
Cloudflare 确实有免费版,现在我的毕业照网站就是。
下面这篇就是用 Cloudflare CDN 免费搭建毕业照网站的方法:
而且免费功能已经非常强:
- CDN
- DNS
- SSL 证书
- DDoS 防护
- 基础缓存
- 页面规则(部分)
很多人第一次用都会震惊:这居然免费?
但它并不完全是慈善。
Cloudflare 的商业模式是用免费服务吸引大量用户;
然后靠企业版赚钱。
收费项包括:
- 高级防护
- WAF(Web 应用防火墙)
- Zero Trust
- Workers
- R2
- 企业级 SLA
也就是说,普通用户白嫖,企业用户买单。
7、它已经不只是 CDN 了
很多人以为 Cloudflare 只是加速网站。
但现在它越来越像互联网基础设施公司。
它做的包括:
- CDN
- DNS
- 域名解析
- Workers(边缘计算)
- Tunnel
- Zero Trust
- WAF
- DDoS 防护
- 对象存储 R2
- 邮件路由
甚至很多网站挂了,不一定是源站挂了,有时候是 Cloudflare 故障。
比如 2026 年 2 月 20 日的那次。
Cloudflare 现在更像互联网里的一个巨大中间层:
帮网站挡攻击、发缓存、做加速、做计算。
而且很多功能真的免费。
难怪第一次用的人都会感慨一句:
Cloudflare,真是互联网里的大善人。