Nén Brotli là gì?

Brotli là gì?

  • Brotli là mã nguồn mở dành cho việc nén dữ liệu và vượt trội so với nén gzip trong nhiều tình huống;
  • Brotli hiện đang được một số trình duyệt web sử dụng để nén font WOFF2;
  • Brotli hiện đang được sử dụng để nén dữ liệu thông thường thay vì chỉ được dùng để nén font trên trình duyệt Chrome và Firefox.
định nghĩa brotli

Brotli đang được sử dụng như thế nào?

Kể từ khi được sử dụng rộng rãi để nén font WOFF2, Brotli hiện đã được hỗ trợ bởi một số trình duyệt (dưới dạng nén font chữ).

Vào tháng chín năm 2015, Google phát hành một phiên bản mới của Brotli có thể nén nhiều dữ liệu khác ngoài font chữ.

Phiên bản mới phát hành này tập trung vào việc sử dụng Brotli như là phương thức nén http thông thường cũng như là công cụ thay thế cho gzip / deflate / Zopfli.

Cả trình duyệt Chrome và Firefox đều có thể sử dụng Brotli như phương thức nén dữ liệu chung trong một số trường hợp.

Tại sao Brotli lại hữu ích?

Nhìn chung Brotli có một số cải tiến đáng kể, nhưng những cải tiến đó không nhiều.

Một kịch bản làm tôi phấn khích là việc sử dụng Brotli cho các file tĩnh khi mà máy chủ web đã nén từ trước. Trong kịch bản này kích cỡ file có thể giảm thêm được 26% so với các phương thức hiện đang được sử dụng rộng rãi bởi các trình duyệt.

Tuy nhiên nội dung động được nén Brotli có thể có một số vấn đề về hiệu suất.

Cloudflare (cung cấp dịch vụ proxy CDN) đã thực hiện một số kiểm tra và công bố kết quả của họ về Brotli, nó rất thú vị và đáng bỏ thời gian để đọc.

Phương thức nén Brotli

Trích từ Wikipedia:

Brotli dựa trên biến thể hiện đại của thuật toán LZ77, mã hóa Huffman và mô hình bối cảnh bậc 2

Sử dụng Brotli

Để có được lợi thế kích cỡ file nhỏ hơn khi sử dụng Brotli, cả máy chủ web và trình duyệt của người dùng đều phải tương thích với Brotli.

Hiện (năm 2016) không có máy chủ web nào hỗ trợ Brotli như phương thức nén dữ liệu chung, nhưng có những phương pháp khác giúp bạn.

Về phía trình duyệt web:

  • Firefox – Firefox 44 bổ sung hỗ trợ Brotli
  • Chrome – Chrome 49 và các phiên bản cao hơn hỗ trợ Brotli sử dụng flag

Tại sao Brotli hấp dẫn tôi (Patrick Sexton)

Phương thức nén Brotli có thể thực sự giúp tôi hiện thực hóa giấc mơ nội tuyến tài nguyên trang tĩnh trong HTML và giữ cho HTML đủ nhỏ để không bị ảnh hưởng bởi HTTP “khởi động chậm”.

Hãy để tôi giải thích điều này.

Các bài viết trên Varvy (giống như trang bạn đang đọc bây giờ) là thử nghiệm liên tục của tôi trong việc tạo ra các trang có hiệu suất cực kỳ cao.

HTML của trang này nội tuyến vào HTML rất nhiều thứ – font chữ, CSS và các ảnh (sử dụng mã hóa base64) trên màn hình đầu tiên.

Một hậu quả của việc nội tuyến rất nhiều vào HTML là HTML có thể trở nên lớn hơn, ngay cả khi được thực hiện một cách khéo léo và nghệ thuật.

Trong nỗ lực cho các bài viết của mình, tôi đã tiến rất gần đến việc giảm kích cỡ file xuống đủ để làm cho các yêu cầu HTTP khớp hoàn chỉnh vào một gói (có dung lượng cỡ 14kb), tôi chỉ cần nén tốt hơn một chút.

Brotli cung cấp khả năng “nén tốt hơn một chút” đó vì thế tôi cảm thấy nó vô cùng hấp dẫn.

(Dịch từ bài viết: Brotli compression – Tác giả: Patrick Sexton – Website: Varvy)

Viết một bình luận