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

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

DecompressionStream

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

예제

이 예제에서는 스트림이 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
# compression-stream

브라우저 호환성

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
CompressionStream
CompressionStream() constructor
"deflate" compression
"deflate-raw" compression
"gzip" compression
readable
writable

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
Has more compatibility info.