226 IM Used

HTTP 226 IM Used 成功響應狀態碼錶示伺服器正在響應 GET 請求,並返回一個 差異(delta)。它用於 HTTP 差異編碼 的上下文中。

IM 代表 例項操作(instance manipulation),指的是生成 差異(delta) 的演算法。在差異編碼中,客戶端傳送一個帶有兩個請求頭的 GET 請求:A-IM:,表示對差異演算法的偏好;以及 If-None-Match,指定其擁有的資源版本。伺服器響應的是相對於給定基礎文件的差異,而不是完整的文件。此響應使用 226 狀態碼,一個 IM: 請求頭來描述所使用的差異演算法,並且可能包含一個 Delta-Base: 請求頭,其中帶有與差異關聯的基礎文件相匹配的 ETag

警告: 對 HTTP 差異編碼的支援不佳意味著很少有實現。相反,大多數系統僅依賴 壓縮方法 來減少頻寬,儘管壓縮和差異編碼的組合是可能的。

即使客戶端和伺服器支援差異編碼,代理或快取可能不支援,並且將 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

...

規範

規範
未知規範
# 第 10.4.1 節

另見