Luồng Brotli (.brotli)
IETF Tiêu chuẩnBrotli là thuật toán nén dữ liệu không mất dữ liệu 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ữ ký tiêu đề ở cấp độ Byte (Magic Bytes)
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 81BIỂ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 | Raw bitstream framing with optional window size declaration and meta-blocks |
| Nén | LZ77 sliding dictionary (up to 16 MB), second-order context modeling, and static 120 KB dictionary |
| Thứ tự byte Endianness | Little-Endian bit-packing |
| Không gian màu | N/A (Data Compression Stream) |
| Kênh & Cấu trúc | General-purpose byte stream compression |
| Kích thước tối đa | Arbitrary byte stream length (supports unbounded streaming) |
| Độ trong suốt | Lossless byte-for-byte exact roundtrip data preservation |
| Truyền phát & Tăng dần | Meta-block chunking allows continuous HTTP chunked transfer streaming |
Ma trận so sánh kỹ thuật: Brotli so với các đối thủ
| Thuộc tính kỹ thuật | Brotli (Hiện tại) | GZ | ZSTD | DEFLATE |
|---|---|---|---|---|
| Từ điển tĩnh tích hợp sẵn | Bao gồm từ điển web 120 KB | Không có (chỉ động) | Từ điển người dùng có thể huấn luyện | Không có (chỉ động) |
| Nén web (so với Gzip) | Nhỏ hơn 15% - 25% so với Gzip | Tiêu chuẩn cơ sở (Gzip) | Nhỏ hơn 10% - 20% so với Gzip | 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ính | Truyền văn bản web & phông chữ web | Nén tệp Unix chung | Cơ sở dữ liệu thời gian thực & nhập dữ liệu | Thuật toán nén nền tảng |
Các chế độ hỏng hóc phổ biến & Hướng dẫn khôi phục 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.
Phân tích bảo mật & Các vectơ tấn công 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.
Thực tiễn Tốt nhất về Phòng thủ:
Nguồn gốc lịch sử & Các cột mốc
Ư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.
- Hơn 95% lưu lượng truy cập internet hiện đại qua Cloudflare, Fastly và Google được phân phối bằng cách sử dụng nén Brotli.
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ượng lượt truyề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.