Nén và giải nén trong trình duyệt bằng ComCompression ống API (API Luồng nén)

Viết các ứng dụng web nhỏ hơn không cần gửi thư viện nén hoặc giải nén riêng

API luồng nén dùng để nén và giải nén các luồng dữ liệu bằng định dạng gzip hoặc deflate (hoặc deflate-raw).

Với, các ứng dụng JavaScript nén tích hợp sẵn không cần bao gồm thư viện nén, giúp giảm kích thước tải xuống của ứng dụng. Bản dùng thử công nghệ Chrome và Safari ổn định hiện hỗ trợ API hữu ích này. Quá trình nén dữ liệu được hiển thị như bên dưới.

const readableStream = await fetch('lorem.txt').then(
  (response) => response.body
);
const compressedReadableStream = readableStream.pipeThrough(
  new CompressionStream('gzip')
);

Để giải nén, hãy truyền một luồng đã nén qua luồng giải nén.

const decompressedReadableStream = compressedReadableStream.pipeThrough(
  new DecompressionStream('gzip')
);

Bản minh hoạ

Hỗ trợ trình duyệt

API luồng nén được hỗ trợ trên Chromium 80 và bản dùng thử công nghệ Safari 152. Đối với các trình duyệt khác, hãy xem CanIUse.

Xác nhận

Hình ảnh chính của Matt Artz trên Unsplash.