Kompresja i dekompresja w przeglądarce z użyciem interfejsu API Kompresji Streams

Tworzenie mniejszych aplikacji internetowych, które nie wymagają własnej biblioteki kompresji ani dekompresji.

Interfejs Compression Streams API służy do kompresowania i dekompresowania strumieni danych w formatach gzip lub deflate (lub deflate-raw).

Dzięki wbudowanej kompresji aplikacje JavaScript nie muszą zawierać biblioteki kompresji, co zmniejsza rozmiar pobierania aplikacji. Stabilna wersja Chrome i Safari Technology Preview obsługują teraz ten przydatny interfejs API. Kompresowanie danych jest widoczne tutaj.

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

Aby zdekompresować strumień, przekaż skompresowany strumień przez strumień dekompresji.

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

Prezentacja

Obsługa przeglądarek

Interfejs Compression Streams API jest obsługiwany od wersji Chromium 80 i Safari Technology Preview 152.