Сжатие (compress)

По умолчанию Next.js использует gzip для сжатия рендерингового контента и статических файлов при использовании next start или кастомного сервера. Это оптимизация для приложений, где сжатие не настроено. Если сжатие уже настроено в вашем приложении через кастомный сервер, Next.js не будет добавлять сжатие.

Полезно знать:

  • При хостинге приложения на Vercel сначала используется brotli, затем gzip.
  • Вы можете проверить, включено ли сжатие и какой алгоритм используется, посмотрев заголовки Accept-Encoding (поддерживаемые браузером варианты) и Content-Encoding (текущий используемый алгоритм) в ответе сервера.

Отключение сжатия

Чтобы отключить сжатие, установите опцию compress в false в конфигурации:

next.config.js
module.exports = {
  compress: false,
}

Мы не рекомендуем отключать сжатие, если только оно не настроено на вашем сервере, так как сжатие уменьшает использование пропускной способности и улучшает производительность приложения.

Изменение алгоритма сжатия

Чтобы изменить алгоритм сжатия, вам нужно настроить кастомный сервер и установить опцию compress в false в файле next.config.js.

Например, если вы используете nginx и хотите переключиться на brotli, установите compress: false, чтобы позволить nginx обрабатывать сжатие.

Полезно знать:

  • Для приложений Next.js на Vercel сжатие обрабатывается Edge Network Vercel, а не Next.js. Подробнее см. в документации Vercel.