226 IM Used
HTTP の 226 IM Used
は成功レスポンスステータスコードで、サーバーが GET
に対するレスポンスでデルタを返したことを示します。
これは、 HTTP デルタエンコーディングのコンテキストで使用されます。
IM はインスタンス操作 (instance manipulation) の略で、デルタを生成するアルゴリズムを指します。
デルタエンコーディングでは、クライアントは 2 つのヘッダーを含む GET
リクエストを送信します。1 つは、差分アルゴリズムの推奨を示す A-IM:
、もう 1 つは、クライアントが保有するリソースのバージョンを指定する If-None-Match
です。
サーバーは、文書全体ではなく、指定されたベース文書に対する相対的なデルタをレスポンスとして返します。
このレスポンスは、226
ステータスコード、使用される差分アルゴリズムを記述する IM:
ヘッダーを使用し、デルタに関連付けられたベース文書と一致する ETag
を含む Delta-Base:
ヘッダーを入れることができます。
警告: HTTP デルタエンコーディングの対応は進んでおらず、実装がわずかしかありません。 代わりに、ほとんどのシステムは、帯域幅を削減するために圧縮メソッドのみに依存していますが、圧縮とデルタエンコーディングを組み合わせることも可能です。
クライアントとサーバーがデルタエンコーディングに対応していても、プロキシーやキャッシュが対応していない場合があり、システムに HTTP デルタエンコーディングを追加する複雑さが、そのメリットを上回る可能性があります。
ステータス
226 IM Used
例
208
を vcdiff
デルタアルゴリズムで受信
次の GET
リクエストでは、クライアントはリソースをリクエストし、 ETag abcd123
を持つキャッシュされたバージョンを保有しています。
A-IM:
ヘッダーは、vcdiff
および diffe
デルタアルゴリズムを推奨していることを示しています。
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/1.1 226 IM Used
ETag: "5678a23"
IM: vcdiff
Content-Type: text/plain
Content-Length: 123
Delta-Base: abcd123
...
仕様書
Specification |
---|
Unknown specification # section-10.4.1 |