源站未设置Cache-Control时CloudFront的缓存与请求折叠行为咨询
关于CloudFront在缺失Cache-Control头时的缓存行为问题
- 我的源站响应未设置
Cache-Control头,发现这类响应似乎不会被CloudFront缓存(从未看到x-cache: Hit from cloudfront响应头),想确认该行为是否有官方文档记录。
我注意到这类请求可能会被CloudFront执行**请求折叠(request collapsing)**机制:
当同一对象存在并发请求时——也就是CloudFront边缘节点在收到第一个请求的响应前,又收到了同一缓存键的额外请求——CloudFront会暂停将额外请求转发到源站,以此降低源站负载。它会把第一个请求的响应发送给暂停期间收到的所有请求,这就是请求折叠(request collapsing)。
...
如果要针对特定对象阻止请求折叠,可以将缓存行为的最小TTL(minimum TTL)设为0,同时配置源站返回
Cache-Control: private、Cache-Control: no-store、Cache-Control: no-cache、Cache-Control: max-age=0或Cache-Control: s-maxage=0这类头信息。
仅这一点就足够成为设置Cache-Control头来禁用请求折叠的理由,但我想知道:当源站缺失Cache-Control头且最小TTL设为0时,CloudFront的默认缓存行为是什么?
内容的提问来源于stack exchange,提问作者Daniel Compton
相关产品推荐
相关产品推荐

