2011-08-16 73 views
2

1 - 这是一个有效的缓存控制标题:CloudFront的图像缓存控制头

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

2 - 我想设置缓存控制标头的对象从S3到CloudFront的服务。图像不会经常变化,但有时可以。这看起来像是一个好的缓存控制吗? CloudFront应每60分钟重新验证一次,但用户将缓存一整天。 (我不太担心个人用户,更担心继续为新用户提供陈旧的形象)。

3-是否还有其他标题我应该使用? (即代理重新验证)

它不容易在S3对象上更改这些设置,所以我试图在第一次就把它弄好。谢谢。

回答

0

这是我得到了什么工作:

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

从理论上讲,你只需要一个或另一个。但是,整个浏览器使用S3和CloudFront进行缓存一直是我背后的一大痛苦,所以我喜欢将它们都放在那里。而且我也把我的.htaccess文件中的以下内容:

# 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

我只是做它用

  1. 访问控制,最大年龄(设置在S3 CORS设定)
  2. 的cache工作控制
  3. 期满

在理论上和从AWS S3 /的Cloudfront文档,仅1.将作品。实际上,这两者都需要。

Keith