![](/img/trans.png)
[英]Validate Origin of FORM POST to ensure it came from same server/app
[英]CloudFront caching - How to ensure CF refreshes from S3 origin server after expiry?
我将资产放入具有到期标头的S3,并成功传递到CloudFront分配。 但是,到期后的请求不会导致CloudFront从源服务器请求新文件。
我也发现查询字符串版本标记不强制新资产,我不想使用完整的文件名版本控制。
所有这些可能都归结于我对缓存控制标头的不了解,但我开始怀疑我是否遗漏了一些关于CloudFront应该如何工作的批评。 CloudFront响应显示如下所示的标头。
Cache-Control: max-age=120
Expires: Tue, 07 Apr 2009 12:13:26 GMT
时间流逝,事情发生变化。 正如蒂姆所指出的那样,最低缓存时间是24小时,但在2010年4月,亚马逊宣布他们将认可并遵循指令缓存一小时。
公告在这里: http : //developer.amazonwebservices.com/connect/ann.jspa?annID = 655
看起来亚马逊忽略了不到24小时的到期时间。 http://developer.amazonwebservices.com/connect/thread.jspa?messageID=107699𚒳
正如Matchu的评论中所述,如果您愿意,现在可以将到期时间一直设置为零,这对开发和测试服务器来说非常好!
最小TTL值可以短至0秒。 然后,您可以通过在原始文件中设置缓存控制标头来为每个文件设置TTL。
还要注意亚马逊文档的内容 :
在Expires标头中的过期日期和时间过后,每次边缘位置收到对象请求时,CloudFront都会从源服务器再次获取该对象。
我们建议您使用Cache-Control max-age指令而不是Expires头字段来控制对象缓存。 如果为Cache-Control max-age和Expires指定值,则CloudFront仅使用max-age的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.