Сжатие уменьшает объем данных, отправляемых с сервера в браузер, тем самым улучшая веб-производительность. Разработчики торгуют коэффициентом сжатия на скорость, выбирая динамическое сжатие для ответов, специфичных для пользователя, и статическое сжатие для ресурсов, таких как CSS или JavaScript. IANA признаёт множество схем кодирования, но gzip, brotli и zstd доминируют в использовании согласно Web Almanac 2025 от HTTP Archive. Brotli лидирует в CDN-трафике, тогда как gzip остаётся распространённым в не-CDN-сценариях.
Brotli стал широко доступным в 2017 году, а zstd достиг широкой поддержки платформы в 2026 году. Статья исследует, как браузеры обрабатывают конкатенированные сжатые файлы между форматами. Она демонстрирует обслуживание несжатого HTML через базовый сервер Python, затем показывает динамическое сжатие gzip при наличии заголовка Accept-Encoding. Пример включает фрагменты кода для сервера, который условно сжимает ответы с использованием gzip на основе заголовков клиента. Обсуждение подчёркивает, что, хотя скорость распаковки важна, эффективность сжатия — уменьшение отправляемых байтов — часто приоритизируется в браузерных средах. Статические ресурсы позволяют более дорогое, однократное сжатие, тогда как динамические ответы требуют более быстрого сжатия, чтобы не добавлять задержек. Статья готовит дальнейшее исследование того, сможет ли brotli обойти gzip в не-CDN-трафике к 2026 году.
Источник: Hacker News · Сводку подготовил HeadlinesBriefing