Stream Brotli (.br)
IETF StandarBrotli adalah algoritma kompresi data lossless sumber terbuka yang dikembangkan oleh Google, yang dioptimalkan secara khusus untuk tipografi web (WOFF2) dan pengkodean konten HTTP (Content-Encoding: br) untuk mempercepat pengiriman halaman internet.
Konversi BROTLI ke GZIP
Konverter BROTLI ke GZIP gratis yang berjalan di peramban. Konversikan berkas secara instan di perangkat Anda.
Pemeriksaan & Metadata
Sistem operasi dan penganalisis file mengenali file Brotli dengan memeriksa urutan byte biner di bagian awal:
Tanda Tangan Header per Byte (Byte Penanda)
Sistem operasi dan penganalisis file mengenali file Brotli dengan memeriksa urutan byte biner di bagian awal:
TANDA TANGAN HEX (OFFSET 0):
CE B2 CF 81REPRESENTASI ASCII: βÏ\x81
Standardisasi: IETF RFC 7932
Spesifikasi Teknis
| Arsitektur Kontainer | Pembingkaian bitstream mentah dengan deklarasi ukuran jendela dan blok meta opsional |
| Kompresi | Kamus LZ77 jendela geser (hingga 16 MB), pemodelan konteks orde kedua, dan kamus statis 120 KB |
| Urutan Byte | Pengemasan bit Little-Endian |
| Ruang Warna | Tidak berlaku (aliran kompresi data) |
| Saluran & Struktur | Kompresi aliran byte serbaguna |
| Dimensi Maksimum | Panjang aliran byte arbitrer (mendukung streaming tanpa batas) |
| Transparansi | Mempertahankan data lossless secara persis byte demi byte setelah proses bolak-balik |
| Streaming & Progresif | Pembagian blok meta memungkinkan streaming transfer HTTP berpotongan secara berkelanjutan |
Perbandingan Teknis Brotli dengan Pesaing
| Atribut Teknis | Brotli (Saat Ini) | GZ | ZSTD | DEFLATE |
|---|---|---|---|---|
| Kamus Statis Bawaan | Kamus web 120 KB disertakan | Tidak ada (dinamis saja) | Kamus yang dapat dilatih pengguna | Tidak ada (dinamis saja) |
| Kompresi Web (vs Gzip) | 15% - 25% lebih kecil dari Gzip | Standar dasar (Gzip) | 10% - 20% lebih kecil dari Gzip | Deflate dasar |
| Content-Encoding HTTP | 'Content-Encoding: br' | 'Content-Encoding: gzip' | 'Content-Encoding: zstd' | 'Content-Encoding: deflate' |
| Tujuan Desain Utama | Transmisi teks web dan fon web | Kompresi file Unix umum | Basis data waktu nyata & pemasukan data | Algoritma kompresi fundamental |
Pola Kerusakan Umum dan Panduan Pemulihan Hex
Peramban gagal memuat sumber daya dengan 'ERR_CONTENT_DECODING_FAILED'.
Penyebab Utama: Proksi atau server memotong aliran Brotli sebelum blok meta akhir dikirim.
Pemulihan: Kosongkan cache peramban, periksa pengaturan kompresi server, atau dekompresi secara lokal melalui File2File.app.
Analisis Keamanan & Vektor Serangan Parser
Kamus statis dan pemodelan konteks Brotli memerlukan pemeriksaan batas memori yang ketat terhadap referensi balik (back-references) yang cacat.
Vektor Serangan yang Diketahui
- Pembacaan pointer di luar batas saat mereferensikan offset kamus statis di luar ukuran tabel.
- Bom dekompresi (setara dengan bom ZIP) yang menghabiskan memori klien dari muatan kecil.
- Luapan buffer selama mengubah ukuran buffer cincin pada jendela geser.
Praktik Terbaik Defensif: Terapkan ukuran maksimum buffer keluaran selama dekompresi aliran Brotli yang tidak tepercaya.
Asal-Usul & Tonggak Sejarah
Keunggulan & Kelebihan Utama
- Rasio kompresi 15% hingga 25% lebih baik daripada Gzip pada aset web HTML, CSS, dan JavaScript.
- Menggabungkan kamus statis 120 KB yang telah ditentukan sebelumnya dari kata web umum, tag HTML, dan frasa.
- Kecepatan dekompresi yang sangat cepat, memastikan rendering halaman sisi klien yang hampir instan.
Keterbatasan Teknis & Kekurangan
- Kompresi pada level 11 memerlukan komputasi yang mahal (paling cocok untuk kompresi awal aset statis).
- Memerlukan HTTPS di semua peramban web untuk mencegah korupsi proksi transparan.
- File .br mentah tidak memiliki header nama file atau izin yang disematkan tanpa kontainerisasi eksternal.
Fakta Teknis Menarik
- Brotli dinamai dari 'Brötli', yang berarti 'roti kecil' dalam bahasa Jerman Swiss.
- Kamus statis 120 KB di dalam Brotli berisi ribuan cuplikan umum dalam bahasa Inggris, Spanyol, Jerman, Tionghoa, serta HTML.
- Brotli didukung oleh server web dan peramban utama, tetapi porsinya dalam lalu lintas berbeda menurut layanan dan jenis respons.
Pertanyaan Teknis yang Sering Diajukan
Mengapa Brotli lebih cepat daripada Gzip untuk situs web?
Brotli menghasilkan file HTML, CSS, dan JS yang ukurannya 20% lebih kecil daripada Gzip, dengan kecepatan dekompresi serupa. Ini mengurangi jumlah perjalanan bolak-balik yang diperlukan melalui jaringan seluler.
Mengapa Brotli memerlukan HTTPS?
Peramban web hanya mendukung Brotli melalui koneksi HTTPS aman karena proksi transparan lama di internet dapat salah menafsirkan atau merusak pengodean 'br' yang baru.
Bagaimana cara mendekompresi file .br?
Anda dapat langsung mendekompresi file .br atau .brotli menjadi teks biasa atau file asli menggunakan File2File.app di peramban web Anda.