Komprimierung und Dekomprimierung im Browser mit der Compression Streams API

Kleinere Web-Apps schreiben, für die keine eigene Komprimierungs- oder Dekomprimierungsbibliothek erforderlich ist

Die Compression Streams API dient zum Komprimieren und Dekomprimieren von Datenstreams mit den Formaten „gzip“ oder „deflate“ (oder „deflate-raw“).

Durch die integrierte Komprimierung benötigen JavaScript-Anwendungen keine Komprimierungsbibliothek, wodurch die Downloadgröße der Anwendung geringer ist. Die stabile Version von Chrome und Safari Technology Preview unterstützen diese nützliche API jetzt. Hier wird gezeigt, wie Daten komprimiert werden.

const readableStream = await fetch('lorem.txt').then(
  (response) => response.body
);
const compressedReadableStream = readableStream.pipeThrough(
  new CompressionStream('gzip')
);

Um einen komprimierten Stream zu dekomprimieren, leiten Sie ihn durch den Dekomprimierungsstream.

const decompressedReadableStream = compressedReadableStream.pipeThrough(
  new DecompressionStream('gzip')
);

Demo

Unterstützte Browser

Die Compression Streams API wird ab Chromium 80 und Safari Technology Preview 152 unterstützt.