EMZETT.
Войти

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