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-Deltacodierungen verwendet.
IM steht für instance manipulation, was sich auf den Algorithmus bezieht, der ein Delta erzeugt.
Bei der Deltacodierung sendet ein Client eine GET
-Anfrage mit zwei Headern: A-IM:
, was eine Präferenz für einen Differenzierungsalgorithmus anzeigt, und If-None-Match
, der die Version einer Ressource angibt, die er besitzt.
Der Server antwortet mit Deltas im Vergleich zu einem gegebenen Basisdokument, anstatt das Dokument vollständig zurückzugeben.
Diese Antwort verwendet den 226
-Statuscode, einen IM:
-Header, der den verwendeten Differenzierungsalgorithmus beschreibt, und kann einen Delta-Base:
-Header mit dem ETag
enthalten, das dem Basisdokument entspricht, das mit dem Delta verbunden ist.
Warnung: Schlechte Unterstützung für HTTP-Deltacodierungen 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 Deltacodierungen möglich ist.
Selbst wenn der Client und der Server Deltacodierungen unterstützen, könnten Proxys oder Caches dies nicht tun, und die Komplexität, HTTP-Deltacodierungen 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 zeigt eine Präferenz für die vcdiff
und diffe
Delta-Algorithmen an:
GET /resource.txt HTTP/1.1
Host: example.com
A-IM: vcdiff, diffe
If-None-Match: "abcd123"
Angenommen, der Server unterstützt Deltacodierungen, antwortet er mit der Differenz seit der Version mit dem ETag abcd123
.
Der IM
-Header gibt an, dass der vcdiff
-Algorithmus verwendet wird, und der Delta-Base:
-Header zeigt an, dass die Differenz 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 |