Compression Streams API

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.

Compression Streams API는 gzip 또는 deflate 형식을 사용하여 데이터 스트림을 압축 및 압축 해제 할 수 있는 JavaScript API를 제공합니다.

압축 기능이 내장되어 있기 때문에 JavaScript 애플리케이션에 압축 라이브러리를 포함할 필요가 없으므로 애플리케이션의 다운로드 크기가 더 작아집니다.

인터페이스

CompressionStream (en-US)

데이터 스트림을 압축합니다.

DecompressionStream (en-US)

데이터 스트림의 압축을 해제합니다.

예제

이 예제에서는 스트림이 gzip 압축을 사용하여 압축됩니다.

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

다음 예제에서는 gzip을 사용하여 blob의 압축을 해제하는 함수입니다.

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

명세서

Specification
Compression Streams
# compression-stream

브라우저 호환성

BCD tables only load in the browser