226 IM Used
Der HTTP-Statuscode 226 IM Used
für erfolgreiche Antworten gibt 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 (Instanzmanipulation), was sich auf den Algorithmus bezieht, der ein Delta erzeugt.
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 spezifiziert, die er besitzt.
Der Server antwortet mit Deltas relativ zu einem gegebenen Basisdokument anstelle des vollständigen Dokuments.
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 dem Delta zugeordneten Basisdokument entspricht.
Warnung: Der geringe Support für HTTP Delta-Kodierungen führt dazu, 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 sowohl Client als auch Server Delta-Kodierungen unterstützen, können Proxies oder Caches dies nicht tun, und die Komplexität des Hinzufügens von HTTP Delta-Kodierungen zu einem System 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 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 Delta-Kodierungen, 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, 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 |