提供来自 s3 的图像,其中的缓存控制标头分布在 CloudFront 未缓存的情况下?



我正在提供来自 S3 存储桶的静态图像,并向存储桶中的所有资产添加Cache-Control: public,max-age=31557600标头。 然后,资产通过 Cloudfront 进行分发。 以下是浏览器中的标头:

Request URL: cloudfront url here
Request Method:GET
Status Code:304 Not Modified
Remote Address: remote address
Referrer Policy:no-referrer-when-downgrade
Response Headers
HTTP/1.1 304 Not Modified
Connection: keep-alive
Date: Fri, 25 Aug 2017 14:00:27 GMT
ETag: "871e4a2d65f891b79a30b1fdf7622650"
Server: AmazonS3
Age: 52182
X-Cache: Hit from cloudfront
Via: 1.1 f348970492a18bf5c630c5acc86c1ee3.cloudfront.net (CloudFront)
X-Amz-Cf-Id: u35A-l_zhEAMsJSmtLmf4VFIPfBfDLdBqIjdjwfAJSDBcJhxLC7OdA==

我不确定该怎么做。 我相信hit from cloudfront意味着边缘服务器正在缓存我的资产。 这是否意味着 CloudFront 已遵守从 S3 发送的标头Cache-Control,并且这些映像正在 CloudFront 边缘服务器中缓存? 还是图像被缓存在浏览器中? 我感谢任何帮助来阐明我的困惑。 谢谢!

在确定 cloudfront 是否正在缓存时,有两个标头需要查看。

  • 命中表示是从缓存中提供的。 如果你看到错过,它去了原点
  • 年龄,对象在缓存中有多少秒。

根据这些标头,是的,Cloudfront 会按照您的要求通过设置缓存控制标头来缓存您的内容。

最新更新