unbrotli

Директива `unbrotli` включает распаковку ответов, сжатых Brotli, для клиентов, которые не поддерживают Brotli.

Синтаксисunbrotli on | off;
По умолчаниюoff
Контекстhttp, server, location
Аргументыflag

Описание

Директива unbrotli является частью модуля NGINX ngx_unbrotli, который предназначен для обработки ответов, сжатых Brotli (обозначаемых заголовком 'Content-Encoding: br'). При включённой этой директиве NGINX анализирует заголовок Accept-Encoding в запросе клиента, чтобы определить его возможности по сжатию. Если клиент не поддерживает сжатие Brotli, сервер распаковывает содержимое, закодированное Brotli, перед отправкой клиенту, обеспечивая совместимость и бесшовную работу независимо от возможностей клиента.

Директиву можно указывать в контекстах http, server или location; она работает как простой флаг (on или off). По умолчанию она установлена в off, то есть ответы Brotli не будут распаковываться, если это явно не включено. Кроме того, пользователи могут воспользоваться директивой unbrotli_force, которая принудительно включает распаковку для всех ответов Brotli независимо от заявленных предпочтений клиента. Параметр unbrotli_buffers позволяет настроить количество и размер буферов памяти, выделяемых для процесса распаковки — это можно регулировать для оптимизации производительности при обработке больших ответов, но это может увеличить использование памяти.

В целом директива unbrotli играет важную роль в обеспечении доступа к контенту для пользователей со старыми или не поддерживающими Brotli клиентами, одновременно позволяя операторам серверов воспользоваться эффективным сжатием Brotli для экономии места и пропускной способности.

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

location /assets/ {
    unbrotli on;
    unbrotli_buffers 32 4k;
    ...
}

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

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

Игнорирование эффекта unbrotli_force может привести к непредвиденному поведению, при котором все клиенты получают декомпрессированные ответы независимо от их возможностей.

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