Brotli — Google tomonidan 2015-yilda ishlab chiqilgan zamonaviy, ma'lumotlarni yo'qotishsiz siqish algoritmi. U HTML, CSS va JavaScript fayllarini siqish uchun HTTP protokolida Content-Encoding: br sifatida keng qo'llaniladi. Brotli DEFLATE algoritmi bilan bir xil oilaga mansub: lug'atdagi mosliklarni qidirish va entropik kodlash usullaridan foydalanadi. Ammo uning muhim qo'shimcha imkoniyati bor — internetda tez-tez uchraydigan iboralarni o'z ichiga olgan katta statik lug'at.
Qanday ishlaydi (ushbu sahifadagi o'quv modeli):
1. Statik lug'at — URL qismlari, HTML teglari va keng tarqalgan so'zlar kabi oldindan ma'lum iboralarni faylning o'zidan qayta aniqlamasdan qidirish
2. LZ havolalari — lug'at yordam bermaganda, avval ko'rib chiqilgan matn qismlaridan nusxa olish
3. Literallar — lug'atda ham, avvalgi matnda ham moslik topilmaganda alohida belgilarni yozish
4. Entropik kodlash — tez-tez uchraydigan buyruqlarga qisqa kodlarni biriktirish (haqiqiy Brotli yanada murakkab, kontekstga bog'liq kodlardan foydalanadi)
Nima uchun Brotli internetda ko'pincha gzip'dan samaraliroq:
gzip faqat joriy ma'lumotlar oqimi ichidagi tuzilmani o'rganadi. Brotli esa internet haqidagi umumiy bilimlardan ham foydalanadi: "https://", "www.", "</div>" va boshqa minglab fragmentlar. Bu oldindan ma'lum ma'lumotlar HTTP ulanishining ikkala tomonida ham mavjud va ularni qayta uzatish talab qilinmaydi.
Vaqt murakkabligi:
Mosliklarni qidirish LZ77 / DEFLATE usullariga o'xshash; samaradorlik oyna hajmi va qidiruv algoritmiga bog'liq
Lug'atdan qidirish ishlab chiqarish darajasidagi kodeklarda yuqori tezlik uchun optimallashtirilgan
Xotira murakkabligi:
Kodlovchi va dekodlovchiga statik lug'at (to'liq Brotli versiyasida taxminan 120 KB) hamda siljiydigan oyna kerak bo'ladi
Xususiyatlari:
- Ma'lumotlarni yo'qotishsiz siqish; RFC 7932
- Matnli veb-resurslar uchun juda samarali, ammo oldindan siqilgan ikkilik ma'lumotlarda samarasi kamroq
- Yuqori siqish darajalari kichikroq fayl hajmi evaziga ko'proq CPU resurslarini talab qiladi (CDN / build vaqti yoki real vaqt rejimida siqish)
- Ushbu vizualizatsiya o'quv maqsadidagi jarayon bo'lib, Brotli bilan bit darajasida mos keladigan kodlovchi emas
Esda tuting: Brotli ≈ DEFLATE g'oyasi + internetga moslashtirilgan statik lug'at + kuchliroq entropik kodlash.
O'xshash algoritmlar
Ko'p beriladigan savollar
- Brotli nima?
- Brotli — Google tomonidan 2015-yilda ishlab chiqilgan zamonaviy, ma'lumotlarni yo'qotishsiz siqish algoritmi. U HTML, CSS va JavaScript fayllarini siqish uchun HTTP protokolida Content-Encoding: br sifatida keng qo'llaniladi. Brotli DEFLATE algoritmi bilan bir xil oilaga mansub: lug'atdagi mosliklarni qidirish va entropik kodlash usullaridan foydalanadi. Ammo uning muhim qo'shimcha imkoniyati bor — internetda tez-tez uchraydigan iboralarni o'z ichiga olgan katta statik lug'at.
- Brotli murakkabligi qanday?
- Brotli bosqichma-bosqich vizualizatsiya hamda vaqt va xotira murakkabligi tahlili bilan tushuntiriladi.
- Ushbu Brotli vizualizatori kimlar uchun?
- Brotli vizualizatsiyasi "Siqish" kategoriyasida yuqori darajadagi o'rganuvchilar uchun mo'ljallangan. Talabalar, texnik suhbatlarga tayyorgarlik va amaliy takrorlash uchun foydali.
- Brotli ga o'xshash qanday algoritmlar bor?
- Shu kategoriyada (Siqish) quyidagilarni ko'rishingiz mumkin: Run-Length Encoding, LZ77, LZW. Har biri interaktiv vizualizatsiyaga ega.