Правило решения и границы
Gzip и Brotli — это кодировки содержимого HTTP, которые уменьшают объём передаваемого текста, когда сервер и браузер согласовывают поддерживаемую кодировку. Кодировку согласуют клиент и сервер: браузер сообщает, какие кодировки он принимает, а сервер отдаёт представление с заголовком Content-Encoding. Сжатие полезнее всего для HTML, CSS, JavaScript, JSON и SVG, но не для уже сжатых изображений и архивов.
Как проверить
Запросите основной документ с принятыми кодировками и без них, затем сравните заголовки, объём передачи, вариативность кэша и успешность декодирования. Убедитесь, что промежуточный узел не отдаёт представление в Brotli клиенту, который его не запрашивал.
Практический порядок действий
Включайте сжатие на том уровне, который отвечает за доставку, сохраняйте Vary: Accept-Encoding там, где этого требует общий кэш, и проверяйте холодный и кэшированный ответ. Измеряйте объём передачи отдельно от времени ответа сервера и работы рендеринга.
Частые ошибки и границы измерения
Меньший объём передачи не доказывает более быстрого взаимодействия. Сжатие не исправит медленную обработку на стороне источника, большие изображения, избыточный JavaScript или кэш, который отдаёт не тот вариант. Типичная ошибка — сжимать уже сжатые медиафайлы или судить о сжатии по несжатому локальному файлу.