Brotli
# Brotli

Brotli es una librería de compresión de datos de código abierto desarrollada por Jyrki Alakuijala y Zoltán Szabadka. Brotli está basado en una variante moderna del algoritmo LZ77, codificación Huffman y modelado de contexto de segundo orden.

Puede ser usado para acelerar la navegación por sitios webs en Chrome o Firefox. Así como zopfli, otro algoritmo de compresión de Google, brotli está nombrado por un tipo de pastel suizo, brötli.

## Historia

Brotli fue inicialmente lanzado en 2015 para la compresión de tipografía web. La versión liberada en septiembre de 2015 contenían mejoras en la compresión de datos sin pérdida, con un énfasis particular en la compresión HTTP. El codificador fue parcialmente reescrito, con el resultado que se mejoró la tasa de compresión, se aceleró el proceso de compresión y descompresión, la API de streaming fue mejorada, y se añadieron nuevos niveles de compresión. Adicionalmente, la nueva versión mostró mejoras en varias plataformas debido a la reducción de uso de memoria para la descompresión.

A diferencia de la mayoría de los algoritmos de compresión, Brotli usa un diccionario predefinido de 120 kilobytes. El diccionario posee sobre 13 mil palabras comunes, frases y otros trozos de texto derivados de grandes cantidades de textos y documentos HTML. Un algoritmo predefinido puede mejorar la densidad en la compresión para archivos pequeños.

Al reemplazar deflate, la densidad de compresión con Brotli dio una mejora del 20% para los archivos de texto, sin que se vea afectado el tiempo de compresión y descompresión. Los streams comprimidos con Brotli tiene el tipo de codificación de contenido propuesto como "br".

## Aplicaciones y servicios que soportan Brotli

### Navegadores de internet

* Mozilla Firefox implementó Brotli en la versión 44.
* Google Chrome implementó Brotli a partir de la versión 49.
