Compressione e decompressione nel browser con l'API Compression Streams

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

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

Con la compressione integrata, le applicazioni JavaScript non devono includere una libreria di compressione, il che riduce le dimensioni del download dell'applicazione. Le versioni stabili di Chrome e Safari Technology Preview ora supportano questa utile API. La compressione dei dati è mostrata qui.

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

Per decomprimere, indirizza un flusso compresso attraverso 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.