【问题标题】:If the same URL can serve different content types shoud Vary include accept?如果相同的 URL 可以提供不同的内容类型,应该包括接受?
【发布时间】:2015-11-02 15:30:00
【问题描述】:

如果同一个 URL 可以为同一个资源提供不同的内容类型,Vary 必须包含 Accept 吗?或者浏览器缓存和代理是否将其理解为隐式?

例子:

GET /some/thing HTTP/1.1
Accept: application/json

这个回复

HTTP/1.1 200 OK
Transfer-Encoding: gzip
Content-Type: application/json
Cache-Control: max-age=3600, must-revalidate
Vary: Transfer-Encoding

{...}

或者这个

HTTP/1.1 200 OK
Transfer-Encoding: gzip
Content-Type: application/json
Cache-Control: max-age=3600, must-revalidate
Vary: Transfer-Encoding, Accept

{...}

【问题讨论】:

    标签: rest http caching content-negotiation vary


    【解决方案1】:

    实际上RFC 并不表示对内容类型(Accept)标头的任何“隐含”或特殊处理...

    由逗号分隔的名称列表组成的 Vary 字段值 表示命名的请求头字段,称为 选择标题字段,可能在选择 表示。

    【讨论】:

      猜你喜欢
      • 2014-05-20
      • 1970-01-01
      • 1970-01-01
      • 2017-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多