Brotli — Algoritmlar vizualizatori

Qadam 1:Brotli (Google, 2015) is what many HTTPS sites use today. Like DEFLATE it combines dictionary matches + entropy coding — but it also ships a static dictionary of common web phrases. Compress a URL-like string.

Brotli

Murakkab

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.