AWS Cloudfront文档说:
如果您将特定原点的TTL设置为0,CloudFront仍会保留 缓存该来源的内容。然后它会发出GET请求 使用If-Modified-Since标头,从而为原点提供机会 表示CloudFront可以继续使用缓存内容 在原点没有改变
我需要配置动态内容。我已经将TTL设置为0 ..我希望每个请求始终都是Origin。有没有办法我使用If-Modified-Since标头避免这个额外的GET请求!为什么每次这个额外的请求!
答案 0 :(得分:3)
我有没有办法避免这个额外的
GET
请求
听起来好像你误解了你正在读的东西。不幸的是,你没有引用消息来源,因此很难回过头来获取更多背景信息;但是,这并不是指“额外”的请求。
然后它将使用If-Modified-Since标头生成
GET
请求
每次随后浏览器请求对象>时,这指的是。 CloudFront使用If-Modified-Since:
发送下一个请求,以便您的源服务器具有返回304 Not Modified
响应的选项 ...它不会发送响应来自浏览器的一个请求,向原点发出两个请求。
如果您的内容始终是动态的,请返回Cache-Control: private, no-cache, no-store
并将最小TTL设置为0。
答案 1 :(得分:1)
这是我从AWS获得的答案:
但是,如果转发该特定来源的所有标题,则 如果没有If-Modified-Since,请求将每次都转到原点 标题提到[1]。请查看以下链接中的摘录 进一步的细节:
“将所有标题转发到您的来源重要说明:如果您配置 CloudFront将所有标题转发到您的源,CloudFront不会 缓存与此缓存行为关联的对象。相反,它 将每个请求发送到原点。“