Brotli и Zstandard
Коротко: Brotli и Zstandard (zstd) — современные методы сжатия, превосходящие gzip по степени сжатия или скорости. Brotli распространён в вебе, zstd — на серверах и в файлах.
Подробнее: Оба опираются на LZ77 и энтропийное кодирование, но используют более крупные окна, лучшие модели и предварительные знания.
Подробности
- Brotli: Разработан Google. Содержит встроенный словарь частых веб-терминов (HTML, CSS, JS). Для статических файлов на высоком уровне (до 11) на 15–25 % меньше gzip. Высокие уровни медленно сжимают, распаковка быстрая. Браузеры отправляют
Accept-Encoding: br. - Zstandard: От Facebook (Янн Колле). Очень быстрые уровни и множество настроек, пользовательские словари для малых данных, многоядерное сжатие. Популярен в пакетах Linux, файловых системах (Btrfs, ZFS), базах данных и резервных копиях.
- Выбор в вебе: Статику заранее сжимать Brotli 11, динамические ответы — скорее уровень 4–5 или gzip.
- Безопасность: Сжатые ответы с секретными значениями были целью атак вроде BREACH. См. LZ77 и Deflate.
- Zstd в браузерах: Всё чаще поддерживается (
zstdкак content-encoding).
См. также: HTTP/2