昨天我浏览了 S3 中存储桶中的对象并添加了以下标头:
Cache-Control: max-age=604800
我使用更改元数据选项来做到这一点,因为我可以轻松地为每个文件夹应用它:
现在,如果我直接请求图像,我会看到正确的标题:
Cache-Control: max-age=604800
Date: Fri, 25 May 2018 11:28:53 GMT
ETag: "1abf6cb38c4645f3de14a19beba80019"
Last-Modified: Fri, 25 May 2018 11:11:11 GMT
Server: AmazonS3
x-amz-id-2: qQk8NrWHNCOV5SmLvSQGahvYKuQIkcqQdc2I4Hdm2QLGkhet8cF4n1O+c2HLxhEVl7iBReFSflo=
x-amz-request-id: 97C53C15E86CD3FF
但这是我通过 CloudFront 请求图像时的响应:
HTTP/1.1 304 Not Modified
Connection: keep-alive
Date: Fri, 25 May 2018 11:28:15 GMT
ETag: "1abf6cb38c4645f3de14a19beba80019"
Server: AmazonS3
Age: 70693
X-Cache: Hit from cloudfront
Via: 1.1 1d7454c76d6ac81147ca3cbd1284c8ae.cloudfront.net (CloudFront)
X-Amz-Cf-Id: CLiExdWbIvxcBFcoND6JYjcKQj54QyQkWl48OyPpUPLupHZl8SPfPQ==
添加此标头时,我的目的是改善 Pingdom 的结果以利用浏览器缓存,但我仍然通过该部分中列出的 CloudFront 从该存储桶中获取 URL:
https://d253b1eioa5z7b.cloudfront.net/bc_video_ ... 6_9_576_67de5812-fd82-4476-8b3f-886ad3a4907d.png
https://d253b1eioa5z7b.cloudfront.net/bc_video_ ... 6_9_576_a7ddd1ed-0913-41f6-927e-9db33b582a89.jpg
当我对 S3 中直接从网站(没有 CDN)使用的其他对象执行相同操作时,我立即注意到对 Pingdom 结果的影响。
我应该等吗?还是我在这里做错了什么?