2

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

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

2-我正在尝试为从 S3 通过 CloudFront 提供的对象设置缓存控制标头。图像不经常改变,但有时可以。这似乎是一个很好的缓存控制吗?CloudFront 应每 60 分钟重新验证一次,但用户将缓存一整天。(我不太担心个人用户,而更担心继续为新用户提供陈旧的图像)。

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

在 S3 对象上更改这些设置并不容易,所以我试图在第一次就正确处理。谢谢。

4

2 回答 2

0

我只是让它与两者一起工作

  1. Access-control-Max-Age(在 S3 CORs 设置中设置)
  2. 缓存控制
  3. 过期

理论上,从 AWS S3 / Cloudfront 文档来看,只有 1. 可以工作。在实践中,两者都需要。

基思

于 2015-07-10T06:04:33.673 回答
-1

这是我要工作的内容:

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
于 2012-09-10T07:45:12.453 回答