compression_normalize_accept_encoding

Директива `compression_normalize_accept_encoding` настраивает NGINX на нормализацию заголовка Accept-Encoding в запросах клиентов для обеспечения единообразной обработки сжатия.

Синтаксисcompression_normalize_accept_encoding combinations1 [ combinations2 .. ] | off;
По умолчаниюoff
Контекстhttp, server, location
Аргументы1+

Описание

Директива compression_normalize_accept_encoding является частью модуля нормализации Accept-Encoding для NGINX, который разработан для эффективного управления и стандартизирования заголовков Accept-Encoding, отправляемых клиентами. Указывая комбинации поддерживаемых методов сжатия, эта директива позволяет серверу определить, какой тип кодирования следует приоритизировать при формировании ответов. Это особенно полезно для оптимизации эффективности сжатия и улучшения работы кэша.

При использовании директива принимает список из одной или нескольких комбинаций сжатия. Например, конфигурация вроде compression_normalize_accept_encoding gzip,br,zstd gzip,br zstd br gzip; инструктирует NGINX сначала попытаться ответить с использованием gzip и Brotli (br), а затем перейти на zstd, если предпочитаемые комбинации не соответствуют заголовку Accept-Encoding клиента. Если ни одна из указанных комбинаций не найдена в входящем запросе, директива укажет NGINX полностью удалить заголовок Accept-Encoding. Такой строгий процесс нормализации предотвращает проблемы, которые могут возникнуть из-за несогласованных значений Accept-Encoding.

Дополнительно существует переменная $compression_original_accept_encoding, которая сохраняет исходное значение заголовка Accept-Encoding до нормализации. Это можно использовать для отладки или ведения логов, обеспечивая возможность отслеживать первоначальные настройки запроса клиента, несмотря на происходящую нормализацию.

Пример конфига

http {
    compression_normalize_accept_encoding gzip,br,zstd gzip,br zstd br gzip;

    server {
        listen 80;
        server_name example.com;

        location / {
            # Your configurations
        }
    }
}

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

Точный порядок комбинаций имеет решающее значение, поскольку первое найденное совпадение определит итоговый заголовок Accept-Encoding.

Будьте осторожны с использованием 'off'; если значение установлено неверно, это может подорвать преимущества нормализации сжатия.

← Ко всем директивам