Brotli voog (.brotli)
IETF StandardBrotli 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:
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 81ASCII-ESITUS: βÏ\x81
Standardiseerimine: IETF RFC 7932
Tehnilised andmed
| Konteineri arhitektuur | Raw bitstream framing with optional window size declaration and meta-blocks |
| Tihendamine | LZ77 sliding dictionary (up to 16 MB), second-order context modeling, and static 120 KB dictionary |
| Baitide järjekord (Endianness) | Little-Endian bit-packing |
| Värviruumid | N/A (Data Compression Stream) |
| Kanalid ja struktuur | General-purpose byte stream compression |
| Max mõõtmed | Arbitrary byte stream length (supports unbounded streaming) |
| Läbipaistvus | Lossless byte-for-byte exact roundtrip data preservation |
| Voogedastus ja progressiivsus | Meta-block chunking allows continuous HTTP chunked transfer streaming |
Tehniline võrdlusmaatriks: Brotli vs konkurendid
| Tehniline atribuut | Brotli (Praegune) | GZ | ZSTD | DEFLATE |
|---|---|---|---|---|
| Sisseehitatud staatiline sõnastik | Kaasas 120 KB veebisõnastik | Puudub (ainult dünaamiline) | Kasutaja treenitavad sõnastikud | Puudub (ainult dünaamiline) |
| Veebitihendus (vs Gzip) | 15% - 25% väiksem kui Gzip | Baasstandard (Gzip) | 10% - 20% väiksem kui Gzip | Baasstandardi Deflate |
| HTTP sisu kodeering | 'Content-Encoding: br' | 'Content-Encoding: gzip' | 'Content-Encoding: zstd' | 'Content-Encoding: deflate' |
| Esmane disainieesmärk | Veebiteksti ja veebifondide edastamine | Unixi üldine failide tihendamine | Reaalajas andmebaas ja andmete sissekanne | Aluseline 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
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.