开发者

CloudFront image cache-control headers

1- Is this a valid cache control header:

Cache-Control: max-age=86400, s-maxage=3600

2- I am trying to set cache control headers for objects served from S3 through CloudFront. The images don't often change, but sometimes can. Does this seem like a good cache control for this? CloudFront should re-validate every 60 minutes, but the user will cache for a full day. (I'm less worried about an individual user and more worr开发者_JAVA技巧ied about continuing to serve the stale image to new users).

3- Are there other headers I should use? (ie. proxy-revalidate)

Its not horrendously easy to change these settings on S3 objects so I'm trying to get it right the first time. Thanks.


I just made it working with both

  1. Access-control-Max-Age (Set in S3 CORs setting)
  2. Cache-control
  3. expires

In theory and from AWS S3 / Cloudfront doc, only 1. will works. In practice, it takes both.

Keith


Here's what I got to work:

Cache-Control: max-age=29030400, public
Expires: Wed, 30 Dec 2015 18:00:00 GMT

In theory, you only need one or the other. But this whole browser caching thing with S3 and CloudFront has been a big pain in my backside, so I like to keep them both in there. And I also put the following in my .htaccess file:

# BEGIN Caching
Header set Cache-Control "max-age=29030400, public"
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 year"
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType text/plain "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType application/x-javascript "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"
    ExpiresByType application/x-icon "access plus 1 year"
</IfModule>
# END Caching
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜