This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

Compression Streams API

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2023년 5월⁩.

* Some parts of this feature may have varying levels of support.

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

브라우저 호환성