Flusso Brotli (.brotli)

IETF Standard

Brotli è un algoritmo di compressione dei dati senza perdita open-source sviluppato da Google, specificamente ottimizzato per la tipografia web (WOFF2) e la codifica dei contenuti HTTP (Content-Encoding: br) per accelerare la consegna delle pagine Internet.

Converti da BROTLI a GZIP

Convertitore gratuito da BROTLI a GZIP nel browser. Converti i file istantaneamente sul tuo dispositivo.

Ispeziona e metadati

I sistemi operativi e gli analizzatori di file identificano i file Brotli ispezionando la sequenza di byte binari iniziale:

Seleziona o rilascia i file qui

Conversione 100% privata nel browser: i file non lasciano mai il tuo dispositivo

o incolla Ctrl+V
Garanzia di privacy con zero trasmissioni di rete: 0 byte caricati su server esterni. Tutta l'elaborazione è avvenuta localmente nella sandbox del tuo browser.

Firma dell'intestazione a livello di byte (Magic Bytes)

I sistemi operativi e gli analizzatori di file identificano i file Brotli ispezionando la sequenza di byte binari iniziale:

FIRMA ESADECIMALE (OFFSET 0):

CE B2 CF 81

RAPPRESENTAZIONE ASCII: βÏ\x81

Standardizzazione: IETF RFC 7932

Specifiche tecniche

Architettura del containerFrammentazione del flusso di bit grezzo con dichiarazione opzionale della dimensione della finestra e meta-blocchi
CompressioneDizionario scorrevole LZ77 (fino a 16 MB), modellazione del contesto di secondo ordine e dizionario statico da 120 KB
Endianness dei byteCompattazione dei bit Little-Endian
Spazi coloreN/D (Flusso di compressione dei dati)
Canali e strutturaCompressione del flusso di byte per usi generali
Dimensioni massimeLunghezza arbitraria del flusso di byte (supporta streaming illimitato)
TrasparenzaConservazione dei dati di andata e ritorno esatta byte per byte senza perdita
Streaming e progressivoLa suddivisione in blocchi tramite meta-blocchi consente lo streaming continuo di trasferimenti suddivisi in blocchi HTTP

Matrice di confronto tecnico: Brotli vs Concorrenti

Attributo tecnicoBrotli (Corrente)GZZSTDDEFLATE
Dizionario statico integratoDizionario web da 120 KB inclusoNessuno (solo dinamico)Dizionari addestrabili dall'utenteNessuno (solo dinamico)
Compressione web (vs Gzip)Dal 15% al 25% più piccolo di GzipStandard di riferimento (Gzip)Dal 10% al 20% più piccolo di GzipDeflate di base
Content-Encoding HTTP'Content-Encoding: br''Content-Encoding: gzip''Content-Encoding: zstd''Content-Encoding: deflate'
Obiettivo di progettazione principaleTrasmissione di testi e font webCompressione di file Unix generaliDatabase in tempo reale e acquisizione datiAlgoritmo di compressione fondamentale

Modalità di corruzione comuni e guida al recupero Hex

Il browser non riesce a caricare la risorsa con l'errore 'ERR_CONTENT_DECODING_FAILED'.

Causa principale: Il proxy o il server ha troncato il flusso Brotli prima della trasmissione dell'ultimo meta-blocco.

Ripristino: Svuotare la cache del browser, controllare le impostazioni di compressione del server o decomprimere localmente tramite File2File.

Analisi di sicurezza e vettori di attacco del parser

Il dizionario statico e la modellazione del contesto di Brotli richiedono rigorosi controlli dei limiti della memoria contro riferimenti all'indietro malformati.

Vettori di attacco noti

  • Lettura di puntatori fuori dai limiti quando si fanno riferimenti a offset di dizionari statici superiori alla dimensione della tabella.
  • Bomba di decompressione (equivalente a una zip bomb) che esaurisce la memoria del client da payload minuscoli.
  • Overflow del buffer durante il ridimensionamento del buffer circolare a finestra scorrevole.

Migliori pratiche difensive: Imporre dimensioni massime del buffer di output durante la decompressione di flussi Brotli non attendibili.

Origini storiche e tappe fondamentali

2016L'IETF pubblica Brotli come RFC 7932, portando all'adozione universale da parte dei browser web HTTP.
2015Google riutilizza Brotli come alternativa di compressione web HTTP per usi generali a Gzip.
2013Gli ingegneri di Google Jyrki Alakuijala e Zoltán Szabadka introducono Brotli per la compressione dei font web WOFF2.

Vantaggi principali e pro

  • Rapporto di compressione dal 15% al 25% migliore rispetto a Gzip su risorse web HTML, CSS e JavaScript.
  • Incorpora un dizionario statico predefinito di 120 KB di parole comuni del web, tag HTML e frasi.
  • Velocità di decompressione estremamente elevata, che garantisce il rendering delle pagine lato client quasi istantaneo.

Limiti tecnici e svantaggi

  • La compressione al livello 11 è computazionalmente costosa (più adatta per la pre-compressione di asset statici).
  • Richiede HTTPS in tutti i browser web per evitare la corruzione da parte di proxy trasparenti.
  • I file .br grezzi non hanno intestazioni di nome file o permessi incorporate senza una containerizzazione esterna.

Curiosità tecniche interessanti

  • Brotli prende il nome da 'Brötli', che significa 'piccolo pane' in tedesco svizzero.
  • Il dizionario statico da 120 KB all'interno di Brotli contiene migliaia di frammenti di codice comuni in inglese, spagnolo, tedesco, cinese e HTML.
  • Oltre il 95% del traffico internet moderno attraverso Cloudflare, Fastly e Google viene consegnato utilizzando la compressione Brotli.

Domande tecniche frequenti

Perché Brotli è più veloce di Gzip per i siti web?

Brotli comprime file HTML, CSS e JS rendendoli più piccoli del 20% rispetto a Gzip, pur decomprimendoli a velocità simili, riducendo il numero di roundtrip necessari sulle reti cellulari.

Perché Brotli richiede HTTPS?

I browser web supportano Brotli solo su connessioni HTTPS sicure perché i vecchi proxy trasparenti su Internet interpreterebbero male o corromperebbero la nuova codifica 'br'.

Come posso decomprimere un file .br?

Puoi decomprimere file .br o .brotli in testo normale o file originali all'istante utilizzando File2File.app direttamente nel tuo browser web.