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:

http
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
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

Siehe auch