Brotli adatfolyam (.br)

IETF Szabvány

A Brotli a Google által fejlesztett, nyílt forráskódú, veszteségmentes adattömörítési algoritmus, amelyet kifejezetten a webes tipográfiához (WOFF2) és a HTTP-tartalomkódoláshoz (Content-Encoding: br) optimalizáltak az internetes oldalak betöltésének felgyorsítására.

BROTLI konvertálása erre: GZIP

Ingyenes, böngészőben használható BROTLI-konverter GZIP formátumba. A fájlokat azonnal konvertálhatja az eszközén.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) Brotli fájlokat:

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

Bájtszintű fejlécaláírás (fájlazonosító bájtok)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) Brotli fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

CE B2 CF 81

ASCII ÁBRÁZOLÁS: βÏ\x81

Szabványosítás: IETF RFC 7932

Műszaki specifikációk

Konténer architektúraNyers bitfolyam-keretezés opcionális ablakméret-megadással és metablokkokkal
TömörítésLZ77 csúszó szótár (legfeljebb 16 MB), másodrendű kontextusmodellezés és 120 KB-os statikus szótár
Bájtsorrendkis bájtsorrendű bitcsomagolás
SzínterekNem alkalmazható (adattömörítési adatfolyam)
Csatornák és struktúraÁltalános célú bájtfolyam-tömörítés
Max. méretekTetszőleges hosszúságú bájtfolyam (korlátlan adatfolyamot támogat)
ÁtlátszóságVeszteségmentes adatmegőrzés, bájtról bájtra pontos visszaállítással
Streaming és progresszívA metablokkokra bontás folyamatos, HTTP-chunkolt adatátvitelt tesz lehetővé

Műszaki összehasonlító mátrix: Brotli vs. versenytársak

Technikai attribútumBrotli (Jelenlegi)GZZSTDDEFLATE
Beépített statikus szótár120 KB-os webes szótár mellékelveNincs (csak dinamikus)Felhasználó által tanítható szótárakNincs (csak dinamikus)
Webes tömörítés (a Gziphez képest)15 - 25%-kal kisebb fájlméret, mint a Gzip eseténAlapszabvány (Gzip)10 - 20%-kal kisebb fájlméret, mint a Gzip eseténAlap Deflate
HTTP Content-Encoding'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
Elsődleges tervezési célWebes szövegek és webes betűtípusok továbbításaÁltalános Unix fájltömörítésValós idejű adatbázis- és adatbetöltésAlapvető tömörítési algoritmus

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

A böngésző nem tudja betölteni az erőforrást, és az „ERR_CONTENT_DECODING_FAILED” hibaüzenetet jeleníti meg.

Kiváltó ok: A proxy vagy a szerver megszakította a Brotli-folyamatot az utolsó metablokk átvitele előtt.

Helyreállítás: Ürítse ki a böngésző gyorsítótárát, ellenőrizze a szerver tömörítési beállításait, vagy tömörítse ki helyben a fájlt a File2File.app segítségével.

Biztonsági elemzés és elemző (parser) támadási vektorok

A Brotli statikus szótára és kontextusmodellezése miatt szigorúan ellenőrizni kell a memóriahatárokat, hogy a hibás visszahivatkozások ne okozhassanak problémát.

Ismert támadási vektorok

  • Határon túli mutatóolvasás, amikor a program a táblázat méretét meghaladó statikus szótári eltolásra hivatkozik.
  • Kitömörítési bomba (a zipbombához hasonló támadás), amely kis méretű bemenettel kimeríti a kliens memóriáját.
  • Puffertúlcsordulás a csúszóablakos gyűrűs puffer átméretezése során.

Ajánlott védekezési módszerek: Korlátozza a kimeneti puffer méretét a nem megbízható Brotli-adatfolyamok kitömörítésekor.

Történeti háttér és mérföldkövek

2016Az IETF RFC 7932.
2015A Google általános célú HTTP-tömörítési alternatívaként hasznosítja újra a Brotli-t a Gzip alternatívájaként.
2013A Google mérnökei, Jyrki Alakuijala és Zoltán Szabadka bevezetik a Brotli-t a WOFF2 webes betűkészletek tömörítéséhez.

Főbb előnyök

  • HTML-, CSS- és JavaScript-erőforrások esetén 15-25%-kal jobb tömörítési arányt ér el, mint a Gzip.
  • Tartalmaz egy előre meghatározott, 120 KB-os statikus szótárat, amely gyakori webes szavakat, HTML-címkéket és kifejezéseket foglal magában.
  • Rendkívül gyors kitömörítés, így az oldalak szinte azonnal megjelennek a felhasználó eszközén.

Technikai korlátok és hátrányok

  • A 11-es szintű tömörítés számítási szempontból igen költséges (leginkább statikus erőforrások előzetes tömörítéséhez ajánlott).
  • A transzparens proxyk okozta sérülések megelőzése érdekében minden webböngészőben HTTPS szükséges.
  • A nyers .br-fájlok külső konténerbe csomagolás nélkül nem tartalmaznak beágyazott fájlnév- vagy jogosultságadatokat a fejlécben.

Érdekes technikai tudnivalók

  • A Brotli a „Brötli” szóból kapta a nevét, amely svájci németül „kis kenyeret” jelent.
  • A Brotli belsejében lévő statikus 120 KB-os szótár angol, spanyol, német, kínai és HTML-töredékek ezreit tartalmazza.
  • A Brotli-t a főbb webszerverek és böngészők támogatják, de a forgalmi aránya szolgáltatásonként és válaszfajtánként változik.

Gyakran Ismételt Műszaki Kérdések

Miért gyorsabb a Brotli a webhelyeken, mint a Gzip?

A Brotli bizonyos esetekben a Gzipnél kisebb webes szövegfájlokat eredményezhet, de a különbség a tartalomtól, a tömörítési beállításoktól és a megvalósítástól függ.

Miért igényel a Brotli HTTPS-t?

A webböngészők csak biztonságos HTTPS-kapcsolaton támogatják a Brotli-t, mivel az interneten található régi transzparens proxyk félreértelmezhetnék vagy módosíthatnák az új „br” kódolást.

Hogyan tömöríthetek ki egy .br-fájlt?

A .br- vagy .brotli-fájlokat a File2File.app segítségével közvetlenül a webböngészőjében alakíthatja át azonnal egyszerű szöveggé vagy az eredeti fájlokká.