Brotli voog (.brotli)

IETF Standard

Brotli on Google'i välja töötatud avatud lähtekoodiga kaotuseta andmete tihendusalgoritm, mis on spetsiaalselt optimeeritud veebitüpograafia (WOFF2) ja HTTP sisu kodeerimise (Content-Encoding: br) jaoks, et kiirendada veebilehtede edastamist.

Teisenda formaadist BROTLI formaati GZIP

Tasuta BROTLI -> GZIP konverter brauseris. Teisenda faile koheselt oma seadmes.

Kontrolli ja metaandmed

Operatsioonisüsteemid ja failianalüsaatorid tuvastavad Brotli faile, kontrollides algset binaarset baidijada:

Vali või lohista failid siia

100% privaatne konversioon brauseris - failid ei lahku kunagi sinu seadmest

või kleebi Ctrl+V
Null-võrguülekande privaatsusgarantii: 0 baiti laaditakse üles välistesse serveritesse. Kogu töötlemine toimub lokaalselt sinu brauseri liivakastis.

Baidi-taseme päise allkiri (maagilised baidid)

Operatsioonisüsteemid ja failianalüsaatorid tuvastavad Brotli faile, kontrollides algset binaarset baidijada:

HEX-ALLKIRI (NIHE 0):

CE B2 CF 81

ASCII-ESITUS: βÏ\x81

Standardiseerimine: IETF RFC 7932

Tehnilised andmed

Konteineri arhitektuurRaw bitstream framing with optional window size declaration and meta-blocks
TihendamineLZ77 sliding dictionary (up to 16 MB), second-order context modeling, and static 120 KB dictionary
Baitide järjekord (Endianness)Little-Endian bit-packing
VärviruumidN/A (Data Compression Stream)
Kanalid ja struktuurGeneral-purpose byte stream compression
Max mõõtmedArbitrary byte stream length (supports unbounded streaming)
LäbipaistvusLossless byte-for-byte exact roundtrip data preservation
Voogedastus ja progressiivsusMeta-block chunking allows continuous HTTP chunked transfer streaming

Tehniline võrdlusmaatriks: Brotli vs konkurendid

Tehniline atribuutBrotli (Praegune)GZZSTDDEFLATE
Sisseehitatud staatiline sõnastikKaasas 120 KB veebisõnastikPuudub (ainult dünaamiline)Kasutaja treenitavad sõnastikudPuudub (ainult dünaamiline)
Veebitihendus (vs Gzip)15% - 25% väiksem kui GzipBaasstandard (Gzip)10% - 20% väiksem kui GzipBaasstandardi Deflate
HTTP sisu kodeering'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
Esmane disainieesmärkVeebiteksti ja veebifondide edastamineUnixi üldine failide tihendamineReaalajas andmebaas ja andmete sissekanneAluseline tihendusalgoritm

Levinud riknemisvead ja heksataaste juhend

Brauser ei suuda ressurssi laadida veateatega 'ERR_CONTENT_DECODING_FAILED'.

Juurpõhjus: Puhverserver või server katkestas Brotli voo enne viimase metabloki edastamist.

Taastamine: Tühjendage brauseri vahemälu, kontrollige serveri tihendusseadeid või dekompresseerige kohapeal File2File abil.

Turvaanalüüs ja parsimisründevektorid

Brotli staatiline sõnastik ja kontekstipõhine modelleerimine nõuavad ranget mälupiiride kontrollimist vigaste tagasiviidete vastu.

Teadaolevad ründavektorid

  • Mälupiire ületav osuti lugemine staatilise sõnastiku nihete viitamisel tabeli suurusest kaugemale.
  • Dekompressioonipomm (zip-pommi ekvivalent), mis kurnab kliendi mälu pisikeste andmemahtude tõttu.
  • Puhvri ületäitumine libiseva akna rõngaspuhvri suuruse muutmise ajal.

Kaitsealased parimad tavad:

Ajalooline taust ja verstapostid

2016IETF avaldab Brotli standardina RFC 7932, mis viib selle universaalse HTTP veebibrauseri kasutuselevõtuni.
2015Google kohandab Brotli üldotstarbeliseks HTTP veebitihenduse alternatiiviks Gzipile.
2013Google'i insenerid Jyrki Alakuijala ja Zoltán Szabadka tutvustavad Brotlit WOFF2 veebifondi tihendamiseks.

Peamised eelised

  • 15% kuni 25% parem tihendusaste kui Gzipil HTML-, CSS- ja JavaScripti veebivarade puhul.
  • Sisaldab eelnevalt määratletud 120 KB staatilist sõnastikku tavalistest veebisõnadest, HTML-siltidest ja fraasidest.
  • Äärmiselt kiire dekompressioonikiirus, mis tagab kliendipoolse lehe peaaegu hetkelise renderdamise.

Tehnilised piirangud ja puudused

  • Tihendamine 12. tasemel on arvutusmahukas (sobib kõige paremini staatiliste varade eelnevaks tihendamiseks).
  • Nõuab kõigis veebibrauserites HTTPS-i, et vältida läbipaistva puhverserveri rikkumist.
  • Toores .br-failil puuduvad ilma välise konteinerita sisseehitatud failinime või õiguste päised.

Huvitavaid tehnilisi fakte

  • Brotli on saanud nime sõna 'Brötli' järgi, mis tähendab šveitsi saksa keeles 'väikest leiba'.
  • Brotli sees olev staatiline 120 KB sõnastik sisaldab tuhandeid tavalisi inglise, hispaania, saksa, hiina ja HTML-katkendeid.
  • Üle 95% kogu kaasaegsest internetiliiklusest Cloudflare'is, Fastlys ja Google'is edastatakse Brotli tihenduse abil.

Korduma kippuvad tehnilised küsimused

Miks on Brotli veebisaitide jaoks kiirem kui Gzip?

Brotli pakib HTML-, CSS- ja JS-failid Gzipist 20% väiksemaks, tehes lahtipakkimist sarnase kiirusega, mis vähendab mobiilsidevõrkudes vajalike andmevahetusringide arvu.

Miks nõuab Brotli HTTPS-i?

Veebibrauserid toetavad Brotlit ainult turvaliste HTTPS-ühenduste kaudu, sest internetis leiduvad pärand-läbipaistvad puhverserverid (transparent proxies) võiksid uut "br"-kodeeringut valesti tõlgendada või rikkuda.

Kuidas ma saan .br-faili lahti pakkida?

Saate .br- või .brotli-failid silmapilkselt tavaliseks tekstiks või originaalfailideks lahti pakkida otse oma veebibrauseris rakenduse File2File.app abil.