Vercel News
Vercel CDN no longer caches responses with Vary: Cookie
8.5内容质量
TL;DR · AI 摘要
Vercel CDN 现在不再缓存包含 Vary: Cookie 的响应,可能导致缓存未命中并影响性能。
核心要点
- 检查 x-vercel-cache 头和 Runtime Logs 以识别缓存未命中的原因。
- 若响应不依赖 Cookie,应移除 Vary: Cookie 以启用缓存。
- 依赖 Cookie 的响应需使用 Cache-Control: private 防止缓存个性化内容。
结构提纲
按章节快速跳转。
- §变更说明
- ·技术原理
Vary 头告知缓存哪些请求头可能改变响应,Cookie 常导致大量未复用的缓存条目。
- ›影响分析
缓存未命中率可能上升,需通过 x-vercel-cache 头和日志排查问题。
- ·解决方案
移除不必要的 Vary: Cookie 或使用 Cache-Control: private 控制缓存行为。
其他支持的 Vary 头缓存策略保持不变。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Vercel CDN 缓存策略变更
- 变更说明
- 停止缓存 Vary: Cookie 响应
- 技术原理
- Vary 头作用机制
- Cookie 导致缓存碎片化
- 解决方案
- 移除 Vary: Cookie
- 使用 Cache-Control: private
金句 / Highlights
值得收藏与分享的关键句。
Vary 告诉缓存哪些请求头可能改变响应,Cookie 常导致大量未复用的缓存条目。
若响应不依赖 Cookie,移除 Vary: Cookie 可启用缓存。
使用 Cache-Control: private 可防止个性化响应被存储在共享 CDN 缓存中。
#Vercel#CDN#HTTP缓存#Vary头#性能优化
打开原文Vercel CDN 不再缓存包含 Vary: Cookie 的响应 - Vercel
当 Vary 包含 Cookie 时,Vercel CDN 将不再缓存源站响应。
Vary 告诉缓存哪些请求头可能会影响响应内容。由于 Cookie 通常包含访客特定的值,按 Cookie 分片会导致生成大量很少被复用的缓存条目。响应仍会正常返回,但不会存储以供后续请求使用。
您可以通过检查 x-vercel-cache 头信息和运行时日志来识别这些响应。该头信息会被设置为 MISS,日志中会显示 vary_key_denied:cookie 作为缓存原因。
如果某条路由的运行时日志显示 vary_key_denied:cookie,但您期望该路由能够被缓存,请检查源站返回的 Vary 头:
- 如果响应内容与 Cookie 无关,请从 Vary 中移除 Cookie。满足其他缓存条件时,Vercel CDN 将可以缓存该响应。
- 如果响应内容依赖 Cookie,请保留 Cookie 在 Vary 中,并使用 Cache-Control: private 防止个性化响应被存储到共享 CDN 缓存中。
其他支持的 Vary 头的缓存行为保持不变。
了解更多关于高基数头和 vary_key_denied 缓存原因的信息。