如何在Amazon S3中使用浏览器缓存?

时间:2013-03-19 14:36:39

标签: amazon-web-services amazon-s3 amazon-cloudfront

我在gtmetrix.com上获得以下内容:

Leverage browser caching    
E (55)
52%
Server  High
What does this mean?
The following cacheable resources have a short freshness lifetime. Specify an expiration at least one week in the future for the following resources:

http://mysite.s3.amazonaws.com/profile.png (expiration not specified)
http://mysite.s3.amazonaws.com/circle.player.css (expiration not specified)
http://mysite.s3.amazonaws.com/main.js (expiration not specified)
http://mysite.s3.amazonaws.com/not.the.skin.css (expiration not specified)
http://cdn-images.mailchimp.com/embedcode/slim-321711.css (expiration not specified)

我猜测mailchimp文件无法修改。但是,如何为Amazon S3 Cloudfront文件指定浏览器缓存?

4 个答案:

答案 0 :(得分:23)

通过Amazon Management Console,选择您的文件(或文件夹)。

enter image description here

转到“属性”选项卡,然后单击“元数据”。

enter image description here

最后,将Cache-Control添加到其标题中并保存。

enter image description here

答案 1 :(得分:10)

您可以使用s3cmd指定标头参数!将文件上传到s3。

例如:

s3cmd sync LOCAL_DIRECTORY s3://BUCKET[/PREFIX] --add-header=Cache-Control:max-age=3153600

答案 2 :(得分:5)

将文件存储到s3时。您可以设置将发送到客户端的自定义标头。在这种情况下,您可以为文件设置Expires标头。

Cloudfront的工作方式略有不同,因为它取决于您的来源。

答案 3 :(得分:0)

我对这个问题很幸运。 实际上,在Bucket中上传文件时,您应该会在上传窗口中看到 SET DETAILS

点击它并完成它。您最终会选择 SET METADATA 作为文件。

还有其他方法。 This might help you.