HTTP/Kompression

Aus Foxwiki

Kompression

Datenmenge verringern

Um die übertragene Datenmenge zu verringern, kann ein HTTP-Server seine Antworten komprimieren

  • Ein Client muss bei einer Anfrage mitteilen, welche Kompressionsverfahren er verarbeiten kann
  • Dazu dient der Header Accept-Encoding (etwa Accept-Encoding: gzip, deflate)
  • Der Server kann dann die Antwort mit einem vom Client unterstützten Verfahren komprimieren und gibt im Header Content-Encoding das verwendete Kompressionsverfahren an
  • HTTP-Kompression spart vor allem bei textuellen Daten (HTML, XHTML, CSS, Javascript-Code, XML, JSON) erhebliche Datenmengen, da sich diese gut komprimieren lassen
  • Bei bereits komprimierten Daten (etwa gängige Formate für Bilder, Audio und Video) ist die (erneute) Kompression nutzlos und wird daher üblicherweise nicht benutzt
Kompressionsangriffe

In Verbindung mit einer mit TLS verschlüsselten Kommunikation führt die Komprimierung allerdings zum BREACH-Exploit, wodurch die Kryptografie gebrochen werden kann