Content-Encoding header
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Der HTTP-Content-Encoding
-Darstellungsheader listet die Kodierungen und deren Reihenfolge auf, in der sie auf eine Ressource angewendet wurden. Dies lässt den Empfänger wissen, wie die Daten dekodiert werden müssen, um das im Content-Type
-Header beschriebene Originalformat zu erhalten. Die Inhaltskodierung wird hauptsächlich verwendet, um Inhalte zu komprimieren, ohne Informationen über den ursprünglichen Medientyp zu verlieren.
Server sollten Daten soweit wie möglich komprimieren und Inhaltskodierung verwenden, wo es angemessen ist. Die Komprimierung bereits komprimierter Medientypen, wie .zip oder .jpeg, ist in der Regel nicht geeignet, da dies die Dateigröße erhöhen kann. Wenn das Originalmedium bereits kodiert ist (z.B. als .zip-Datei), wird diese Information nicht im Content-Encoding
-Header eingeschlossen.
Wenn der Content-Encoding
-Header vorhanden ist, beziehen sich andere Metadaten (z.B. Content-Length
) auf die kodierte Form der Daten, nicht auf die ursprüngliche Ressource, es sei denn, dies wird ausdrücklich angegeben. Die Inhaltskodierung unterscheidet sich von Transfer-Encoding
, da Transfer-Encoding
regelt, wie HTTP-Nachrichten selbst im Netzwerk auf einer Hop-by-Hop-Basis übermittelt werden.
Header-Typ | Darstellungsheader |
---|---|
Verbotener Anforderungsheader | Nein |
Syntax
Content-Encoding: gzip
Content-Encoding: compress
Content-Encoding: deflate
Content-Encoding: br
Content-Encoding: zstd
Content-Encoding: dcb
Content-Encoding: dcz
// Multiple, in the order in which they were applied
Content-Encoding: deflate, gzip
Direktiven
gzip
-
Ein Format, das die Lempel-Ziv-Kodierung (LZ77) mit einer 32-Bit-CRC verwendet. Dies ist das Originalformat des UNIX-Programms gzip. Der HTTP/1.1-Standard empfiehlt auch, dass Server, die diese Inhaltskodierung unterstützen,
x-gzip
als Alias erkennen sollten, um Kompatibilität zu gewährleisten. compress
-
Ein Format, das den Lempel-Ziv-Welch (LZW) Algorithmus verwendet. Der Name des Werts stammt von dem UNIX-Programm compress, welches diesen Algorithmus implementierte. Wie das Komprimierungsprogramm, das aus den meisten UNIX-Distributionen verschwunden ist, wird diese Inhaltskodierung heute von vielen Browsern nicht mehr verwendet, teilweise wegen eines Patentproblems (es lief 2003 ab).
deflate
-
Verwendet die zlib-Struktur (definiert in RFC 1950) mit dem Deflate-Komprimierungsalgorithmus (definiert in RFC 1951).
br
-
Ein Format, das die Brotli-Algorithmusstruktur (definiert in RFC 7932) verwendet.
zstd
-
Ein Format, das die Zstandard-Algorithmusstruktur (definiert in RFC 8878) verwendet.
dcb
Experimentell-
Ein Format, das den Dictionary-Compressed Brotli Algorithmus verwendet. Siehe Kompressionswörterbuch-Transport.
dcz
Experimentell-
Ein Format, das den Dictionary-Compressed Zstandard Algorithmus verwendet. Siehe Kompressionswörterbuch-Transport.
Beispiele
Komprimierung mit gzip
Auf der Clientseite können Sie eine Liste von Komprimierungsschemata angeben, die in einer HTTP-Anfrage gesendet werden. Der Accept-Encoding
-Header wird zur Aushandlung der Inhaltskodierung verwendet.
Accept-Encoding: gzip, deflate
Der Server antwortet mit dem verwendeten Schema, was im Content-Encoding
-Antwortheader angegeben wird.
Content-Encoding: gzip
Ob ein Server die vom Client angeforderten Komprimierungsmethoden verwendet, hängt von der Serverkonfiguration und den Fähigkeiten ab.
Spezifikationen
Specification |
---|
HTTP Semantics # field.content-encoding |