HTTP/Kompression
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