如果相同的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
{...}
答案 0 :(得分:0)
实际上RFC并未表示内容类型(Accept)标题的任何“隐含”或特殊处理......
Vary字段值,由逗号分隔的名称列表组成 表示命名的请求头字段,称为 选择标题字段可能会在选择时发挥作用 表示。