HTTP Content-Encoding Header

Der HTTP-Header Content-Encoding ist ein Response-Header, der angibt, welche Kompressionsverfahren auf den Message-Body angewendet wurden. Client muss entsprechende Dekompression durchführen um Original-Content zu erhalten.

Typ

Response-Header

Syntax

Der Header listet die angewendeten Encodings in Reihenfolge auf.

http
Content-Encoding: gzip
Content-Encoding: br

Direktiven

Die Direktiven definieren die verwendeten Kompressionsalgorithmen.

gzip
GZIP-Kompression (LZ77 + Huffman), weit verbreitet und effizient.
br
Brotli-Kompression, moderne Alternative mit besserer Kompressionsrate als gzip.
deflate
DEFLATE-Kompression (zlib), älterer Standard mit geringerer Verbreitung.
identity
Keine Kompression, Content unverändert (selten explizit gesetzt).
compress
Legacy Unix-Compress, praktisch nicht mehr verwendet.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den Content-Encoding-Header.

Beispiel 1 GZIP API-Response

http
Content-Encoding: gzip
Content-Type: application/json
Content-Length: 2847

JSON-Response ist GZIP-komprimiert, Client dekomprimiert automatisch. Original-Größe war ca. 12KB.

Beispiel 2 Brotli fuer optimale Kompression

http
Content-Encoding: br
Content-Type: application/json
Vary: Accept-Encoding

Moderne APIs nutzen Brotli für beste Kompressionsrate. Vary-Header signalisiert Content-Negotiation.

Beispiel 3 Keine Kompression

http
Content-Type: image/jpeg
Content-Length: 125840

JPEG ist bereits komprimiert, kein Content-Encoding nötig. Zusätzliche Kompression bringt keinen Vorteil.

Content Encoding Flow

Content-Encoding Kompression und Dekompression

Vorteile für die Systemarchitektur

  • Bandbreiten-Reduktion: 60-80% kleinere Payloads reduzieren Traffic-Kosten drastisch
  • Verbesserte Latenz: Weniger Datenübertragung bedeutet schnellere Response-Zeiten
  • CDN-Effizienz: Komprimierte Responses reduzieren Cache-Größe und Origin-Traffic

Spezifikation

RFC 9110, Section 8.4 – HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html#name-content-encoding

Weitere Spezifikationen

Accept-Encoding Header, Transfer-Encoding Header