226 IM Used
HTTP 的 226 IM Used
成功响应 状态代码表示服务器正在返回对 GET
请求的 增量。它用于HTTP 增量编码的上下文中。
IM 代表实例操作,指的是生成增量的算法。在增量编码中,客户端发送带有两个头的 GET
请求:A-IM:
,它指示对差异算法的偏好,以及 If-None-Match
,它指定它拥有的资源的版本。服务器会响应相对于给定基本文档的增量,而不是完整文档。此响应使用 226
状态代码,一个描述所用差异算法的 IM:
头,并且可能包括一个带有与增量相关的基本文档匹配的 ETag
的 Delta-Base:
头。
警告:HTTP 增量编码的支持不佳,这意味着只有少数实现。相反,大多数系统仅依赖 压缩方法 来减少带宽,尽管可以结合压缩和增量编码。
即使客户端和服务器支持增量编码,代理或缓存可能不支持,并且将 HTTP 增量编码添加到系统中的复杂性可能大于其优势。
状态
226 IM Used
示例
接收带有 vcdiff
增量算法的 208
在以下 GET
请求中,客户端请求一个资源,并有一个带有 ETag abcd123
的缓存版本。A-IM:
头表示对 vcdiff
和 diffe
增量算法的偏好
http
GET /resource.txt HTTP/1.1
Host: example.com
A-IM: vcdiff, diffe
If-None-Match: "abcd123"
假设服务器支持增量编码,它将响应自带有 ETag abcd123
的版本以来的差异。IM
头表明使用的是 vcdiff
算法,Delta-Base:
头表明该差异基于带有 ETag abcd123
的资源。
http
HTTP/1.1 226 IM Used
ETag: "5678a23"
IM: vcdiff
Content-Type: text/plain
Content-Length: 123
Delta-Base: abcd123
...
规范
规范 |
---|
未知规范 # section-10.4.1 |
另请参见
200
- HTTP 请求方法
- HTTP 响应状态码
- 联合供稿增量有助于降低订阅带宽成本 (2017)