我正在尝试基于客户端Accept
标头实现内容协商,以便接受的客户端image/webp
获取 webp 图像,而没有获取普通旧 jpeg 的客户端。webp 和 jpeg 图像从同一个 url 提供,即 /images/foo-image/ 并且返回的内容因Accept
客户端提供的标头而异。现在这在我的网站上效果很好。
下一个挑战是让这个工作的 AWS CloudFront 放在我的站点前面。我将Vary
标头设置Vary: Accept
为让 CloudFront 知道它必须根据客户端Accept
标头缓存和提供不同的内容。
不幸的是,这似乎不起作用,即 CloudFront 只是提供它首先得到的任何东西,Vary
尽管如此Accept
。有趣的是,CloudFront 似乎确实能够根据Accept-Encoding
(即 gzip)改变内容。
有谁知道给了什么?