Luồng Brotli (.br)

IETF Tiêu chuẩn

Brotli là thuật toán nén dữ liệu không mất mát mã nguồn mở được phát triển bởi Google, được tối ưu hóa đặc biệt cho kiểu chữ web (WOFF2) và mã hóa nội dung HTTP (Content-Encoding: br) nhằm tăng tốc độ truyền tải trang internet.

Chuyển đổi BROTLI sang GZIP

Trình chuyển đổi từ BROTLI sang GZIP miễn phí trên trình duyệt. Chuyển đổi tệp ngay lập tức trên thiết bị của bạn.

Kiểm tra & Siêu dữ liệu

Các hệ điều hành và trình phân tích tệp nhận dạng tệp Brotli bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

Chọn hoặc thả tệp vào đây

Riêng tư - tệp không bao giờ rời khỏi thiết bị của bạn

Hoặc dán Ctrl+V
Cam kết bảo vệ quyền riêng tư, không truyền dữ liệu qua mạng: 0 byte được tải lên máy chủ bên ngoài. Toàn bộ quá trình xử lý diễn ra cục bộ trong hộp cát trình duyệt của bạn.

Chữ ký ở đầu tệp (mẫu byte nhận diện)

Các hệ điều hành và trình phân tích tệp nhận dạng tệp Brotli bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

CHỮ KÝ HEX (OFFSET 0):

CE B2 CF 81

BIỂU DIỄN ASCII: βÏ\x81

Tiêu chuẩn hóa: IETF RFC 7932

Thông số kỹ thuật

Kiến trúc ContainerĐóng khung luồng bit thô, có khai báo kích thước cửa sổ và các siêu khối tùy chọn
NénTừ điển trượt LZ77 (tối đa 16 MB), mô hình hóa ngữ cảnh bậc hai và từ điển tĩnh 120 KB
Thứ tự byteĐóng gói bit theo thứ tự byte nhỏ (little-endian)
Không gian màuKhông áp dụng (luồng nén dữ liệu)
Kênh & Cấu trúcNén luồng byte đa dụng
Kích thước tối đaĐộ dài luồng byte tùy ý (hỗ trợ truyền phát không giới hạn)
Độ trong suốtBảo toàn dữ liệu không mất dữ liệu, khớp chính xác từng byte sau khi giải nén
Truyền phát & Tăng dầnChia khối siêu khối cho phép truyền phát HTTP theo khối liên tục

Ma trận so sánh kỹ thuật: Brotli so với các đối thủ

Thuộc tính kỹ thuậtBrotli (Hiện tại)GZZSTDDEFLATE
Từ điển tĩnh tích hợp sẵnBao gồm từ điển web 120 KBKhông có (chỉ động)Từ điển người dùng có thể huấn luyệnKhông có (chỉ động)
Nén web (so với Gzip)Nhỏ hơn Gzip từ 15% đến 25%Tiêu chuẩn cơ sở (Gzip)Nhỏ hơn Gzip từ 10% đến 20%Deflate cơ sở
Mã hóa nội dung HTTP'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
Mục tiêu thiết kế chínhTruyền văn bản web & phông chữ webNén tệp Unix chungCơ sở dữ liệu thời gian thực & nhập dữ liệuThuật toán nén nền tảng

Các dạng hỏng thường gặp và hướng dẫn khôi phục bằng mã hex

Trình duyệt không tải được tài nguyên với lỗi 'ERR_CONTENT_DECODING_FAILED'.

Nguyên nhân gốc rễ: Proxy hoặc máy chủ đã cắt cụt luồng Brotli trước khi khối siêu dữ liệu cuối cùng được truyền đi.

Khắc phục: Xóa bộ nhớ đệm trình duyệt, kiểm tra cài đặt nén của máy chủ hoặc giải nén cục bộ qua File2File.app.

Phân tích bảo mật và các đường tấn công nhằm vào bộ phân tích cú pháp

Mô hình từ điển tĩnh và ngữ cảnh của Brotli yêu cầu kiểm tra giới hạn bộ nhớ nghiêm ngặt đối với các tham chiếu ngược bị lỗi.

Các véc-tơ tấn công đã biết

  • Đọc con trỏ ngoài giới hạn khi tham chiếu các độ lệch từ điển tĩnh vượt quá kích thước bảng.
  • Bom giải nén (tương đương với bom zip) làm cạn kiệt bộ nhớ máy khách từ các tải trọng nhỏ.
  • Tràn bộ đệm trong quá trình thay đổi kích thước bộ đệm vòng cửa sổ trượt.

Biện pháp phòng thủ tốt nhất: Áp dụng kích thước bộ đệm đầu ra tối đa trong quá trình giải nén các luồng Brotli không đáng tin cậy.

Nguồn gốc lịch sử và các cột mốc

2016IETF công bố Brotli dưới dạng RFC 7932.
2015Google tái sử dụng Brotli làm giải pháp thay thế nén web HTTP đa năng cho Gzip.
2013Các kỹ sư Google Jyrki Alakuijala và Zoltán Szabadka giới thiệu Brotli để nén phông chữ web WOFF2.

Ưu điểm & Lợi ích chính

  • Tỷ lệ nén tốt hơn từ 15% đến 25% so với Gzip trên các tài nguyên web HTML, CSS và JavaScript.
  • Kết hợp một từ điển tĩnh 120 KB được xác định trước gồm các từ web phổ biến, thẻ HTML và cụm từ.
  • Tốc độ giải nén cực nhanh, đảm bảo việc kết xuất trang phía máy khách gần như tức thời.

Hạn chế & Nhược điểm kỹ thuật

  • Quá trình nén ở cấp độ 11 đòi hỏi tính toán cao (phù hợp nhất cho việc nén trước tài sản tĩnh).
  • Yêu cầu HTTPS trong tất cả các trình duyệt web để ngăn chặn việc hỏng dữ liệu qua proxy trong suốt.
  • Các tệp .br thô thiếu các tiêu đề tên tệp hoặc quyền được nhúng nếu không có vùng chứa bên ngoài.

Thông tin kỹ thuật thú vị

  • Brotli được đặt theo tên của 'Brötli', có nghĩa là 'bánh mì nhỏ' trong tiếng Đức Thụy Sĩ.
  • Từ điển tĩnh 120 KB bên trong Brotli chứa hàng ngàn đoạn mã tiếng Anh, Tây Ban Nha, Đức, Trung Quốc và các đoạn HTML phổ biến.
  • Brotli được các máy chủ web và trình duyệt lớn hỗ trợ, nhưng tỷ lệ lưu lượng sử dụng thay đổi theo dịch vụ và loại phản hồi.

Các câu hỏi kỹ thuật thường gặp

Tại sao Brotli lại nhanh hơn Gzip đối với các trang web?

Brotli nén các tệp HTML, CSS và JS nhỏ hơn 20% so với Gzip trong khi tốc độ giải nén tương đương, giúp giảm số lần truyền nhận dữ liệu qua mạng di động.

Tại sao Brotli yêu cầu phải có HTTPS?

Trình duyệt web chỉ hỗ trợ Brotli qua các kết nối HTTPS bảo mật bởi vì các máy chủ proxy trong suốt cũ trên internet có thể hiểu sai hoặc làm hỏng mã hóa 'br' mới này.

Làm thế nào để giải nén tệp .br?

Bạn có thể giải nén các tệp .br hoặc .brotli thành văn bản thuần túy hoặc tệp gốc ngay lập tức bằng cách sử dụng File2File.app trực tiếp trên trình duyệt web.