HTTP Accept-Encoding Header

Der HTTP-Header Accept-Encoding ist ein Request-Header, mit dem der Client dem Server mitteilt, welche Content-Encodings (Kompressionsverfahren) er verarbeiten kann. Der Server wählt daraufhin ein passendes Verfahren und komprimiert die Response entsprechend.

Typ

Request-Header

Syntax

Der Header listet die unterstützten Encodings mit optionalen Quality-Werten auf.

http
Accept-Encoding: gzip, deflate, br
Accept-Encoding: gzip;q=1.0, identity;q=0.5, *;q=0

Direktiven

Die Direktiven definieren die unterstützten Kompressionsalgorithmen und deren Präferenz.

gzip
GZIP-Kompression (LZ77-basiert), weit verbreitet und gut unterstützt.
deflate
DEFLATE-Kompression (zlib), älterer Standard mit geringerer Verbreitung.
br
Brotli-Kompression, moderne Alternative mit besserer Kompressionsrate als gzip.
identity
Keine Kompression, Übertragung im Originalformat.
*
Wildcard für alle nicht explizit genannten Encodings.
q
Quality-Faktor zwischen 0 und 1 zur Priorisierung (Standard: 1).

Beispiele

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

Beispiel 1 Moderne Browser

http
Accept-Encoding: gzip, deflate, br

Moderner Browser akzeptiert alle gängigen Kompressionsverfahren, Server wählt Brotli für beste Kompression.

Beispiel 2 Priorisierung mit Quality Values

http
Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1

Client bevorzugt Brotli, akzeptiert gzip als Fallback, lehnt andere Encodings weitgehend ab.

Beispiel 3 Legacy Client

http
Accept-Encoding: gzip, deflate

Encoding Negotiation Flow

Encoding Negotiation und Komprimierung zwischen Client und Server

Vorteile für die Systemarchitektur

  • Bandbreitenreduktion: Deutlich kleinere Response-Größen reduzieren Netzwerklast und Kosten
  • Schnellere Ladezeiten: Weniger Datentransfer bedeutet kürzere Antwortzeiten für Endnutzer
  • CDN-Effizienz: Komprimierte Inhalte im Cache reduzieren Speicherbedarf und Origin-Traffic

Spezifikation

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

Weitere Spezifikationen

Accept Header, Content-Encoding Header, Vary Header