HTTP 表示分拣台

地址没变,服务器为什么会递出不同的东西?

资源 URI 只指出“哪个商品”。请求字段表达你偏好的格式、语言和编码,服务器据此选择一份可以在网络中传输的表示。

固定资源 URI GET /products/42
request preferences

给服务器一张偏好单

切换任意字段,右侧响应会立即重新协商。URI 始终不变。

这些字段描述的是本次请求的偏好,不会把资源 URI 改成三个不同地址。

selected representation

服务器选中的表示

200 OK
格式application/json
语言zh-CN
编码gzip
RESPONSE HEADERS

          
解码后的正文预览
线上已 gzip 压缩
cache & vary

这份缓存能直接交给当前请求吗?

先设定缓存里已有的请求和响应,再选择缓存键纳入哪些请求字段。缓存会按键判断命中;我们还会检查它有没有把错误表示发出去。

复用结论 安全复用

缓存里已有的响应

它由下面这组请求偏好生成,URI 同样是 /products/42

缓存键配置(响应的 Vary)

勾选表示该请求字段参与缓存键;取消后,缓存会忽略该维度。

已存缓存键
当前查找键