几周前,亚马逊宣布降低了内容的有效期:

Amazon CloudFront Lowers Minimum Content Expiration Period

如此之多,您现在实际上可以将CloudFront中的TTL设置为0。所以我的问题是,为什么将TTL设置为0的CloudFront分配很有用。对我来说,这意味着根本不缓存,因此每个到达CloudFront的请求最终会碰到原点。

我想念什么?

最佳答案

实际上,Amazon CloudFront的这一新功能在许多用例中非常有用,因为击中原点的工作方式与乍看之下有所不同,并且不一定是问题,相反;虽然此功能已在较早的版本中发布,但所有功能都与Amazon CloudFront - Support for Dynamic Content的最新版本(例如,对于眼前的问题:



换句话说,使用TTL主要是0,意味着CloudFront将缓存控制权委派给源,即,源服务器决定是否以及将CloudFront缓存对象多长时间;请特别注意,带有If-Modified-Since header 的GET请求并不一定意味着对象本身是从原点检索的,而是原点可以(并且应该)在适用的情况下返回HTTP status code 304 - Not Modified:



有关HTTP缓存控制的机制和优点的详细信息,请参见Mark Nottingham的出色的Caching Tutorial,HTTP缓存控制是HTTP体系结构中非常重要和有效的一部分。

理解所有这些部分如何协同工作确实确实有些困难,因此,指定Specifying How Long Objects Stay in a CloudFront Edge Cache (Object Expiration)中的CloudFront为下载分发分发对象缓存对象的最短时间部分中的表尝试总结在TTL = 0或没有TTL = 0的情况下应用于CloudFront时的效果。特别。

关于amazon-web-services - CloudFront中的TTL 0有什么用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10621099/

10-11 23:31