当我在浏览器中加载 HTML 页面时,所有对资源的请求都有x-cache: Miss from cloudfront
。如果我重新加载浏览器非常很快,有时我可以得到一个Hit
。
如果我打开我的开发人员工具并“将请求复制为 curl”,那么无论我执行请求的速度有多快或多慢,我都能可靠地获得成功。
为什么不同的用户代理发出完全相同的请求会成功或失败?
答案1
您可能正在 Cloudfront 上转发 cookie。
因此,每次您在浏览器中刷新页面时,浏览器都会创建一个新的 cookie 哈希,并且 CDN 会认为这是一个新请求。
您必须关闭 Cloudfront 的 cookie 转发。
要在 CURL 中复制此行为,请尝试使用不同的 cookie 发送请求,您会发现它变慢了。