Interested Article - Brotli
- 2021-05-05
- 1
Brotli — алгоритм сжатия данных с открытым исходным кодом, разработанный Юрки Алакуйяла ( фин. Jyrki Alakuijala ) и Золтаном Сабадка .
Метод сжатия brotli основан на современном варианте алгоритма LZ77 , энтропийном кодировании Хаффмана и моделировании контекста 2-го порядка.
Предназначен для ускорения загрузки веб-страниц, поддерживается в браузерах Chrome , основанных на Chromium, и в Firefox .
Как и zopfli , другой алгоритм сжатия от Google , brotli был назван в честь швейцарского хлебобулочного изделия, brötli.
Характеристики
Алгоритм brotli был впервые представлен в 2015 году в качестве специализированного алгоритма сжатия веб-шрифтов .
В сентябре 2015 года инженеры Google представили версию brotli, содержавшую улучшения для универсального сжатия данных без потерь , особенно для использования при сжатии интернет-трафика. Алгоритм и реализация были переработаны для улучшения степени сжатия и ускорения операций сжатия и распаковки. Был доработан API работы с потоками, появились более высокие уровни сжатия, уменьшилось потребление памяти.
В отличие от большинства универсальных алгоритмов сжатия, brotli поставляется со встроенным 120-килобайтным словарём. Этот словарь содержит около 13 тысяч строк, фраз и других последовательностей, часто встречавшихся в большом корпусе текстовых и HTML -документов. Подобная особенность позволяет увеличить степень сжатия для некоторых коротких файлов.
По сравнению с классическим алгоритмом
deflate
(середина 1990-х,
ZIP
,
gzip
) brotli, как правило, достигает на 20 % более высокой степени сжатия для
текстовых файлов
, сохраняя сходную скорость сжатия и распаковки. Сжатые при помощи brotli потоки получили тип кодирования
br
.
В отличие от zopfli , алгоритм brotli не является обратно совместимым с zlib и deflate .
Использование
- Mozilla Firefox реализовал brotli с версии 44 (январь 2016)
- Google Chrome поддерживает brotli с версии 49
- Метод опубликован как
- Формат шрифтов Web Open Font Format 2.0
- Safari поддерживает brotli c macOS High Sierra
- Microsoft Edge поддерживает brotli
См. также
- Zstd (Zstandard, Facebook)
- (Apple)
Примечания
- — 2023.
- — 2006.
- — 2006.
- . IETF Internet Drafts (16 мая 2014). (недоступная ссылка)
- . github.com. Дата обращения: 1 сентября 2016. 29 июня 2016 года.
- Slater-Robbins, Max (20 января 2016). Дата обращения: 20 января 2016. 30 мая 2016 года.
- ↑ . Дата обращения: 1 сентября 2016. 19 июня 2016 года.
- (18 февраля 2015). Дата обращения: 20 января 2016. 4 марта 2016 года.
- Richard Chirgwin. . The Register (23 сентября 2015). Дата обращения: 1 сентября 2016. 2 мая 2016 года.
- Alakuijala, Jyrki . Google (22 сентября 2015). Дата обращения: 25 октября 2015. 9 февраля 2016 года.
- . Дата обращения: 26 января 2016. 4 марта 2016 года.
- ↑ . Дата обращения: 7 января 2016. 8 апреля 2017 года.
- . developer.microsoft.com. Дата обращения: 29 июня 2018. 8 июля 2018 года.
- . Дата обращения: 29 июня 2018. 30 июня 2018 года.
Ссылки
- на GitHub
- , сентябрь 2015
- ,
- // phoronix, 21 January 2016 (англ.)
- / Cloudflare, 23 Oct 2015
- 2021-05-05
- 1