一个从 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 这个案例看成一个提醒:博客时代的基础设施门槛回来了,只是这次读者不一定坐在浏览器前。

开头那个反常点,也就落回这里。三十年的缓存没有突然变简单。是机器读者让它突然变重要。

写作者可以继续只关心内容。但分发层不会因为你不关心,就停止替你决定谁能读到你。