My website使用cloudfront作为其图片。如果我在浏览器中加载网页,然后使用curl在该页面上请求图像,则curl请求是缓存未命中。使用curl的后续请求是缓存命中。
示例:运行两次:
curl --verbose https://d1hvwudqvjuczb.cloudfront.net/assets/landing/splash_dickenko-2199af423f275d0784c1813cbaab5645.jpg`
第一次,X-Cache
将是“来自云端的小姐”,第二次是“从云端点击”。
因此,似乎cloudfront正在使用请求的某些方面来决定是否应该重新获取图像。
这个标准是什么?
答案 0 :(得分:5)
您看到此行为的原因是您的请求不同。为了给您提供一些背景信息,基于http accept-encoding标头的Cloudfront缓存varys。在您的第一个示例中,您在浏览器中发送gzip的值。使用curl示例,默认情况下,您不是。因此,Cloudfront将此对象视为唯一。
尝试在curl中传递--compressed标志,看看该行为是否与您的浏览器匹配。