首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >亚马逊网络服务CloudFront,`Vary`报头和内容协商

亚马逊网络服务CloudFront,`Vary`报头和内容协商
EN

Stack Overflow用户
提问于 2013-05-13 02:31:14
回答 2查看 4.9K关注 0票数 4

我正在尝试实现基于客户端Accept头的内容协商,以便接受image/webp的客户端获得webp图像,而不接受普通旧jpeg的客户端获得webp图像。webp和jpeg图像来自相同的url,即/ image /foo-image/,并且返回的内容在客户端呈现的Accept报头上有所不同。现在这在我的网站上运行得很好。

下一个挑战是让这个工作的亚马逊网络服务CloudFront坐在我的网站前面。我将Vary标头设置为Vary: Accept,以便让CloudFront知道它必须基于客户端Accept标头缓存和提供不同的内容。

不幸的是,这似乎不起作用,即尽管有VaryAccept,但CloudFront只提供它首先得到的东西。有趣的是,CloudFront似乎确实能够基于Accept-Encoding (即gzip)来改变内容。

有人知道是什么原因吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-14 22:49:51

事实证明,这是不应该工作的documented

代码语言:javascript
复制
The only acceptable value for the Vary header is Accept-Encoding. CloudFront ignores other values.

更新: AWS now has support for more sophisticated content negotiation。我写了一个关于这个的blog post on how to take advantage

票数 4
EN

Stack Overflow用户

发布于 2014-07-18 22:51:04

为了更新这个问题,CloudFront现在支持按不同的标头进行缓存,所以现在可以这样做了

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16510700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档