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-Codierungen verwendet.
IM steht für Instance Manipulation, was sich auf den Algorithmus zur Erstellung eines Deltas bezieht.
Bei der Delta-Codierung 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 spezifiziert, die er hat.
Der Server antwortet mit Deltas im Verhältnis zu einem gegebenen Basisdokument statt mit dem vollständigen Dokument.
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 zum Basisdokument gehört, das mit dem Delta assoziiert ist.
Warnung: Aufgrund der geringen Unterstützung für HTTP-Delta-Codierungen gibt es nur wenige Implementierungen. Stattdessen verlassen sich die meisten Systeme ausschließlich auf Kompressionsmethoden, um die Bandbreite zu reduzieren, obwohl eine Kombination aus Kompression und Delta-Codierungen möglich ist.
Selbst wenn der Client und der Server Delta-Codierungen unterstützen, könnten Proxies oder Caches dies nicht tun, und die Komplexität, HTTP-Delta-Codierungen in ein System zu integrieren, könnte die Vorteile überwiegen.
Status
226 IM Used
Beispiele
Empfangen eines 208
mit dem vcdiff
-Delta-Algorithmus
In der folgenden GET
-Anfrage fordert ein Client eine Ressource an und verfügt über 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"
Vorausgesetzt, der Server unterstützt Delta-Codierungen, antwortet er mit dem Diff 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 Diff 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 |