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: 請求頭表示偏好 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
...
規範
| 規範 |
|---|
| 未知規範 # 第 10.4.1 節 |
另見
200- HTTP 請求方法
- HTTP 響應狀態碼
- 聯合供稿差異有助於降低訂閱頻寬成本 (2017)