compression_normalize_accept_encoding
Директива `compression_normalize_accept_encoding` настраивает NGINX на нормализацию заголовка Accept-Encoding в запросах клиентов для обеспечения единообразной обработки сжатия.
Описание
Директива 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'; если значение установлено неверно, это может подорвать преимущества нормализации сжатия.