226 IM Used

HTTP 的 226 IM Used 成功响应 状态代码表示服务器正在返回对 GET 请求的 增量。它用于HTTP 增量编码的上下文中。

IM 代表实例操作,指的是生成增量的算法。在增量编码中,客户端发送带有两个头的 GET 请求:A-IM:,它指示对差异算法的偏好,以及 If-None-Match,它指定它拥有的资源的版本。服务器会响应相对于给定基本文档的增量,而不是完整文档。此响应使用 226 状态代码,一个描述所用差异算法的 IM: 头,并且可能包括一个带有与增量相关的基本文档匹配的 ETagDelta-Base: 头。

警告:HTTP 增量编码的支持不佳,这意味着只有少数实现。相反,大多数系统仅依赖 压缩方法 来减少带宽,尽管可以结合压缩和增量编码。

即使客户端和服务器支持增量编码,代理或缓存可能不支持,并且将 HTTP 增量编码添加到系统中的复杂性可能大于其优势。

状态

226 IM Used

示例

接收带有 vcdiff 增量算法的 208

在以下 GET 请求中,客户端请求一个资源,并有一个带有 ETag abcd123 的缓存版本。A-IM: 头表示对 vcdiffdiffe 增量算法的偏好

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

另请参见