Compressione e decompressione nel browser con l'API Compression Streams

Scrivi app web più piccole che non devono includere la propria libreria di compressione o decompressione

L'API Compression Streams serve per comprimere e decomprimere flussi di dati utilizzando i formati gzip o deflate (o deflate-raw).

Grazie alla compressione integrata, le applicazioni JavaScript non devono includere una libreria di compressione, riducendo le dimensioni di download dell'applicazione. Le versioni stabili di Chrome e Safari Technology Preview ora supportano questa utile API. La compressione dei dati viene mostrata qui.

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

Per decomprimere, invia un flusso compresso tramite il flusso di decompressione.

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

Demo

Supporto browser

L'API Compression Streams è supportata da Chromium 80 e Safari Technology Preview 152.