返回 文章 apply CMS 文章

Cloudflare 终于支持 HTTP Vary 头:内容协商缓存的重大更新

Cloudflare 新增对 HTTP Vary 头的支持,修复了内容协商场景下的缓存错误。

CloudflareHTTPVary头缓存
成长分 / 100 61 综合收获、行动、留存与影响

为什么值得读了解 Cloudflare 缓存行为的重要变化,避免内容协商导致的缓存错误。

获取 Simon Willison 对内容协商模式的实践观点和替代方案。

关键洞察
  1. Cloudflare 过去忽略 Vary 头(图像除外),导致可能缓存 JSON 版本并错误提供给期望 HTML 的用户。
  2. 新功能支持 Vary 头,使得基于 Accept 头的内容协商可以安全部署在 Cloudflare 缓存后。
  3. Simon Willison 多年来一直期待此功能,但最终决定永远不使用内容协商模式。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:1086

2026年9月23日

我多年来一直想要 Cloudflare 提供这个功能。

这里的经典问题是,如果你采用那种做法:发送 "accept: text/html" 的用户代理获得 HTML,而不发送该头的用户代理则获得 JSON 或其他格式。

过去在 Cloudflare 缓存后面这根本无法部署,因为他们对图像以外的任何内容都忽略 Vary 头——所以你有可能缓存了 JSON 版本,然后把它提供给一个期望 HTML 的人。

(撇开 Cloudflare 这个功能不谈,我最终决定永远不使用那种模式,因为我更喜欢让 URL 可预测地返回 HTML 或 JSON——我在自己的应用里加上 .json 后缀来返回 JSON。)

近期文章

2026 年的 LLM(截至目前)- 2026年9月27日Claude Opus 5.5、GPT-6 Sol、GPT-6 Luna,以及一场新的价格战- 2026年9月22日Jev 推出一种新形态的 LLM——System One,又名 Decision Models- 2026年9月21日