首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS CloudFront最大TTL与默认TTL缓存行为的差异

AWS CloudFront最大TTL与默认TTL缓存行为的差异
EN

Stack Overflow用户
提问于 2017-02-12 01:35:52
回答 3查看 4.8K关注 0票数 4

AWS CloudFront默认缓存行为允许自定义Min、最大TTL和默认TTL值。我反复阅读了这些文档,但无法理解默认TTL和最大TTL之间的实际区别。例如,如果我在默认的TTL中给予24小时(以秒为单位),那么我在Max中应用的不同持续时间会发生什么呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-12 02:10:29

从我所看到的:

  • 当缓存控制头不提供缓存持续时间时,使用默认
  • 最大值可以通过实施更短的缓存持续时间来覆盖缓存控制头。

例如,如果应用程序通过报头将缓存持续时间设置为90分钟,但最大TTL设置为60分钟,则CloudFront将缓存60分钟。

见文档:指定对象在CloudFront边缘缓存中停留的时间(终止)

票数 10
EN

Stack Overflow用户

发布于 2017-02-12 03:34:38

是的,我想补充一下约翰·罗滕斯坦的回答:

Min TTLMax TTL只是设置Cloudfront允许请求头更改TTL的范围。如果没有传递标头,则将使用默认的TTL。

您可以在这里看到每一个的定义:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesMinTTL

在实践中,我们发现如果没有任何传递,默认的TTL并不总是被设置。因此,很好的做法是发送Control age(或过期)或Cache-Control s-maxage报头,以确保对象被缓存的时间是正确的。或者您可以将Min TTL和默认TTL设置为同时。

另一件需要记住的事情(从文档中):

如果将CloudFront配置为为缓存行为将所有头转发到源,则CloudFront从不缓存关联对象。

票数 0
EN

Stack Overflow用户

发布于 2021-06-23 08:45:47

默认缓存TTL:它将在请求中没有显示头部时应用。通常我们都喜欢这样。这是24小时,我们可以定制,如果我们需要。如果默认的TTL是24小时: 24小时对象在CloudFront缓存中,然后CloudFront将另一个请求转发给您的起源,以确定该对象是否已被更新。Max和Min Cache TTL:当出现带有缓存头的请求(访问对象)时(Control,Control,或过期)时应用。这些类似于边界值,如果请求标头的过期大于max-TTL,则将该对象过期视为max-TTL。如果任何对象请求头具有过期的(小于min),则将该过期视为min。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42183313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档