このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Compression Streams API

Baseline 広く利用可能 *

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2023年5月以降、すべてのブラウザーで利用可能です。

* この機能の一部は、対応レベルが異なる場合があります。

Compression Streams API は、gzip 形式や deflate 形式によるデータのストリームの圧縮や展開を行う JavaScript の API を提供します。

ビルトインの圧縮機能を使うことで、JavaScript のアプリケーションに圧縮ライブラリーを含める必要がなくなり、アプリケーションのダウンロードサイズをより小さくできます。

インターフェイス

CompressionStream

データのストリームを圧縮します。

DecompressionStream

データのストリームを展開します。

この例では、ストリームを gzip 圧縮により圧縮します。

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

この例は、blob を gzip により展開する関数です。

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

仕様書

仕様書
Compression
# compression-stream

ブラウザーの互換性