一个从 90 年代就开始做 Web 的人,最近才说自己终于真正掌控了 HTTP caching。
这件事反常,也很现实。缓存不是新东西,Cache-Control、TTL、CDN、浏览器缓存、边缘缓存,全是 Web 世界的老零件。但 Rob Hoeijmakers 这次重建博客缓存策略,动因不是页面慢了,而是读者变了。
人类还在看博客。搜索索引器、AI 爬虫、检索系统也在看,而且看法完全不同。它们不等页面慢慢渲染,不在意你排版多顺眼。它们发请求,拿响应,判断内容,离开。
这就把一个老问题重新推到台前:你的内容到底能不能被机器稳定、便宜、可预测地拿到。
一个个人博客,补了一门老课
Rob 的站点跑在 Ghost 上,通过 Cloudflare 分发。他长期知道缓存重要,但没有真正把 HTTP caching 握在自己手里。
这次他借助 Claude 和 ChatGPT,把 Ghost、Cloudflare Workers、Cache Rules、D1 请求日志、边缘缓存、浏览器缓存、Cache-Control 和 TTL 串了起来。不是做产品评测,也不是换博客系统,而是重新整理内容从源站到读者之间的那层分发逻辑。
| 环节 | 用到的东西 | 这次解决的问题 |
|---|---|---|
| 内容源头 | Ghost | 文章仍由博客系统生成 |
| 分发层 | Cloudflare Workers、Cache Rules | 控制哪些内容在边缘缓存、缓存多久 |
| 观察层 | D1 请求日志、公开 cache-stats 仪表盘 | 区分 human、AI crawler、SEO crawler、unknown 等访问类型 |
| 缓存规则 | Cache-Control、TTL、浏览器缓存、边缘缓存 | 让响应头、过期时间和缓存行为更可解释 |
这里最该看清的一点是:AI 没有发明缓存。
它做的是把一堆分散知识变成可对话的实施方案。过去你要翻文档、读论坛、猜 Cloudflare 规则和 Ghost 输出之间的关系。现在可以把站点约束讲给模型听,让它帮你拆步骤、对配置、解释 header,再一轮轮验证。
这不是“人人都成了工程师”的神话。它更像把一间堆满工具的仓库点亮了灯。工具还得你自己拿,责任也还是你的。
“工欲善其事,必先利其器。”这句老话放在这里不虚。缓存这把器,不新;新的是个人站长终于更容易知道它该怎么用。
缓存从提速,变成分发条件
过去个人站长谈缓存,多半是三个目标:页面更快、SEO 更好、服务器少扛点压力。
现在多了一个更硬的目标:让机器读者能稳定读取。
机器访问和人类访问不是一套节奏。人打开一篇文章,可能停留几分钟。爬虫可能短时间批量请求,重复抓取,快速判断页面是否值得索引、摘要或进入检索链路。
这时缓存就不只是“快一点”。它关系到成本、延迟和可达性。
| 访问者 | 关心什么 | 缓存出问题的后果 |
|---|---|---|
| 人类读者 | 打开速度、阅读体验 | 慢一点,可能关掉页面 |
| 搜索爬虫 | 响应稳定、内容可读、状态码可靠 | 抓取效率下降,索引表现受影响 |
| AI 爬虫 / 检索系统 | HTML 可获取、响应头一致、重复请求成本可控 | 内容更难进入下游检索和摘要流程 |
| 站长自己 | 源站压力、带宽、日志可解释 | 成本上升,问题难定位 |
这不是说机器访问一定是好事,也不能从一个个人博客案例推出全网趋势。原文主要来自 Rob 自己的观察和公开仪表盘,我们只能说:至少在这个站点上,他已经把机器访问当成必须面对的基础设施变量。
我不太买账把这事写成恐慌故事。Rob 的态度也不是关门谢客,而是接受访问结构变化,然后把网站修到更适合被读取。
真正麻烦的是另一种状态:你以为自己只是在写博客,实际上内容已经进入搜索、AI 抓取、检索系统组成的新分发网络。你不理解缓存,分发层就按默认设置替你做主。
这有点像报业时代的发行网络。文章写得好是一回事,报纸能不能按时到报摊,是另一回事。不完全一样,但权力位置相似:当分发层变复杂,作者不能只盯编辑器。
最受影响的,不是大厂,是小站长
大公司有基础设施团队,有监控,有 CDN 策略,有人专门看日志。真正被这件事提醒的,是个人站长、技术博客作者、小型内容站和独立出版者。
他们接下来不一定要迁移系统,也不一定要立刻上复杂架构。更现实的动作,是补三件小事。
| 对象 | 现在该做什么 | 不必急着做什么 |
|---|---|---|
| 个人技术博客作者 | 看访问日志,区分人类、搜索爬虫、AI 爬虫 | 不必为了爬虫重写整站 |
| 独立出版者 / 小型内容站 | 检查 Cache-Control、TTL、CDN 命中率和源站压力 | 不必把所有机器访问都当成攻击 |
| 依赖搜索流量的小站 | 确认 HTML 能被稳定返回,关键页面别被错误缓存或频繁回源 | 不必迷信某个插件一键解决 |
最该观察的变量也很具体。
一看机器请求占比是否继续上升。二看 Cloudflare 这类边缘层的命中率是否改善。三看源站压力和抓取错误是否下降。四看缓存规则会不会误伤更新频繁的页面,比如首页、订阅页、动态列表。
这里有现实约束。缓存不是越久越好。
TTL 设得太短,边缘缓存意义有限,机器一多就把压力打回源站。TTL 设得太长,内容更新可能延迟生效,甚至让读者和爬虫拿到旧页面。Cache-Control 写得太随意,浏览器缓存、边缘缓存和爬虫行为还可能互相打架。
所以这件事的分水岭不在“会不会用 AI 问答案”。分水岭在你能不能把内容发布看成一条链路:Ghost 生成内容,Cloudflare 分发内容,缓存规则决定内容多久被复用,日志告诉你谁在拿内容。
AI 在这里的价值很朴素:把过去只有半个运维脑袋才能串起来的知识,变成个人也能操作的清单。它降低的是理解门槛,不是责任门槛。
我更愿意把 Rob 这个案例看成一个提醒:博客时代的基础设施门槛回来了,只是这次读者不一定坐在浏览器前。
开头那个反常点,也就落回这里。三十年的缓存没有突然变简单。是机器读者让它突然变重要。
写作者可以继续只关心内容。但分发层不会因为你不关心,就停止替你决定谁能读到你。
