cgi_body_only

Директива 'cgi_body_only' определяет, отправляется ли клиенту только тело ответа CGI, без заголовков.

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

Описание

Директива 'cgi_body_only' в модуле CGI NGINX используется для управления поведением ответа при обработке CGI-скриптов. Когда она включена, директива указывает NGINX отправлять только тело ответа от CGI-скрипта, исключая любые заголовки, которые обычно сопровождают HTTP-ответ. Это может быть полезно в ситуациях, когда заголовки либо не нужны, либо их следует опустить по соображениям функциональности или производительности, позволяя клиенту получать только необходимое содержимое напрямую.

С точки зрения реализации 'cgi_body_only' выступает в роли флага; при установке в 'on' он сообщает NGINX подавлять стандартные заголовки ответа. Этот параметр можно настроить в пределах блока server или location, что обеспечивает гибкость в том, как отдельные части конфигурации сервера обрабатывают ответы CGI. Эта возможность позволяет разработчикам адаптировать поведение CGI-скриптов в соответствии с их специфическими требованиями, особенно в приложениях, где накладные расходы на формирование заголовков нежелательны.

Эта директива стала полезным вариантом для разработчиков, стремящихся оптимизировать свои приложения, поскольку она может уменьшить размер полезной нагрузки ответа, отправляемого по сети, за счёт удаления ненужных заголовков. Хотя это может улучшить производительность в конкретных сценариях, следует проявлять осторожность, чтобы исключение заголовков не повлияло на совместимость с клиентами или их ожидания, особенно в отношении типа содержимого и директив кэширования.

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

location /cgi-bin/ {
    cgi_pass  unix:/var/run/fcgi.sock;
    cgi_body_only on;
}

Если 'cgi_body_only' установлено в 'on', клиенты могут не получать важные заголовки, такие как Content-Type или директивы кэширования, что может повлиять на обработку ответов, особенно в браузерах.

Убедитесь, что ваши CGI-скрипты правильно обрабатывают ответы без опоры на заголовки, так как их отсутствие может привести к неожиданному поведению клиентов.

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