226 IM Used
Der HTTP-Statuscode 226 IM Used
für erfolgreiche Antworten zeigt an, dass der Server ein Delta als Antwort auf eine GET
-Anfrage zurückgibt. Er wird im Kontext von HTTP-Delta-Kodierungen verwendet.
IM steht für Instance Manipulation, was sich auf den Algorithmus bezieht, der ein Delta generiert. Bei der Delta-Kodierung sendet ein Client eine GET
-Anfrage mit zwei Headern: A-IM:
, der eine Präferenz für einen Differenzierungsalgorithmus angibt, und If-None-Match
, der die Version einer Ressource angibt, die der Client besitzt. Der Server antwortet mit Deltas relativ zu einem gegebenen Basisdokument, anstatt das Dokument vollständig zu senden. Diese Antwort verwendet den Statuscode 226
, einen IM:
-Header, der den verwendeten Differenzierungsalgorithmus beschreibt, und kann einen Delta-Base:
-Header mit dem ETag
enthalten, der mit dem Basisdokument verbunden ist, auf das sich das Delta bezieht.
Warnung: Die geringe Unterstützung für HTTP-Delta-Kodierungen bedeutet, dass es nur wenige Implementierungen gibt. Stattdessen verlassen sich die meisten Systeme ausschließlich auf Kompressionsmethoden, um die Bandbreite zu reduzieren, obwohl eine Kombination aus Kompression und Delta-Kodierungen möglich ist.
Selbst wenn der Client und der Server Delta-Kodierungen unterstützen, könnten Proxys oder Caches dies nicht tun, und die Komplexität, HTTP-Delta-Kodierungen zu einem System hinzuzufügen, könnte die Vorteile überwiegen.
Status
226 IM Used
Beispiele
Empfang eines 208
mit dem vcdiff
-Delta-Algorithmus
In der folgenden GET
-Anfrage fordert ein Client eine Ressource an und hat eine zwischengespeicherte Version mit dem ETag abcd123
. Der A-IM:
-Header gibt eine Präferenz für die Delta-Algorithmen vcdiff
und diffe
an:
GET /resource.txt HTTP/1.1
Host: example.com
A-IM: vcdiff, diffe
If-None-Match: "abcd123"
Angenommen, der Server unterstützt Delta-Kodierungen, antwortet er mit dem Unterschied seit der Version mit dem ETag abcd123
. Der IM
-Header zeigt an, dass der vcdiff
-Algorithmus verwendet wird, und der Delta-Base:
-Header gibt an, dass das Delta auf einer Ressource mit dem ETag abcd123
basiert.
HTTP/1.1 226 IM Used
ETag: "5678a23"
IM: vcdiff
Content-Type: text/plain
Content-Length: 123
Delta-Base: abcd123
...
Spezifikationen
Specification |
---|
Unknown specification # section-10.4.1 |