You need to enable JavaScript to run this app. Google Cloud CDN返回304 Not Modified时不覆盖Cache-Control是否为规范?
优惠活动
大模型
产品
解决方案
定价
更多

Google Cloud CDN返回304 Not Modified时不覆盖Cache-Control是否为规范?

结论

你遇到的是Google Cloud CDN的既定设计行为,并非配置错误或产品故障。

原因说明

  • 你当前配置的CACHE_ALL_STATIC缓存模式下,CDN仅会对返回完整响应体的200、206等成功状态码应用cdnPolicy中的clientTtl规则,覆盖源站返回的Cache-Control头,这和你观测到的首次200响应表现一致。
  • 对于304 Not Modified响应,Google Cloud CDN当前默认逻辑为直接透传后端源站(即你的Cloud Storage存储桶)返回的响应头,不会触发clientTtl的覆盖逻辑,因此会返回存储桶对象元数据中设置的max-age=31536000。

解决方案

你可以任选以下一种方式修正该问题:

  1. 直接修改存储桶对象的Cache-Control元数据为max-age=0。由于CACHE_ALL_STATIC模式下CDN内部缓存时长由defaultTtl/maxTtl决定,优先级高于源站max-age,因此该修改不会影响CDN侧的缓存策略,仅会影响返回给客户端的头信息。
  2. 为该后端存储桶绑定Cloud CDN自定义响应头规则,新增全局规则强制覆盖所有状态码响应的Cache-Control头为max-age=0,该规则对304响应同样生效。

内容的提问来源于stack exchange,提问作者ryosuke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 20:33:03