我们的服务器(原始服务器)正在将以下 HTTP 响应发送回 Cloudflare,包括“Cache-Control: public, max-age=86400”,期望 Cloudflare 缓存它:
HTTP/2 200
日期:2023 年 10 月 24 日,星期二 13:31:00 GMT
内容类型:application/json
缓存控制:公共,最大年龄=86400
到期时间:2023 年 10 月 25 日星期三 13:31:00 GMT
严格传输安全:最大年龄=31536000
x-内容类型-选项:nosniff
最后修改时间:2023 年 10 月 24 日星期二 13:31:00 GMT
变化:接受语言
但是 Cloudflare 随后会向客户端发送以下响应,其中包含“cf-cache-status: DYNAMIC”,表明即使设置了 Cache-Control 和 Expires 标头,它也没有被缓存。
HTTP/2 200
日期:2023 年 10 月 24 日,星期二 13:31:00 GMT
内容类型:application/json
缓存控制:公共,最大年龄=86400
到期时间:2023 年 10 月 25 日星期三 13:31:00 GMT
严格传输安全:最大年龄=31536000
x-内容类型-选项:nosniff
最后修改时间:2023 年 10 月 24 日星期二 13:31:00 GMT
变化:接受语言缓存状态:动态
服务器:cloudflare
cf 射线:81b293ddbb18a780-EZE
知道为什么会发生这种情况吗?
https://developers.cloudflare.com/cache/concepts/default-cache-behavior/中的 Cloudflare 文档指出,“当 Cache-Control
标头设置为 public
和时,Cloudflare
会缓存资源”
max-age
大于 0。”我们添加了“Cache-Control: public, max-age=86400”,并将“Expires”标头设置为当前时间后 24 小时,但 Cloudflare 仍然不缓存资源。