API de Compression Streams

Baseline 2023
Newly available

Since May 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Nota: Esta característica está disponible en Web Workers.

La API de Compression Streams proporciona una API de JavaScript para comprimir y descomprimir flujos de datos usando los formatos gzip o deflate.

La compresión incorporada significa que las aplicaciones de JavaScript no necesitarán incluir una biblioteca de compresión, lo que hace que el tamaño de descarga de la aplicacion sea más pequeño.

Interfaces

CompressionStream

Comprime un flujo de datos.

DecompressionStream

Descomprime un flujo de datos.

Ejemplos

En este ejemplo, un flujo se comprime usando la compresión gzip.

js
const compressedReadableStream = inputReadableStream.pipeThrough(
  new CompressionStream("gzip"),
);

En el siguiente ejemplo, una funcion descomprime un blob usando gzip.

js
async function DecompressBlob(blob) {
  const ds = new DecompressionStream("gzip");
  const decompressedStream = blob.stream().pipeThrough(ds);
  return await new Response(decompressedStream).blob();
}

Especificaciones

Specification
Compression
# compression-stream

Compatibilidad con navegadores