$sent_http_content_type

Переменная $sent_http_content_type содержит заголовок Content-Type, отправляемый в HTTP-ответе от NGINX.

Описание

Переменная $sent_http_content_type — это встроенная переменная NGINX, которая захватывает значение заголовка Content-Type в HTTP-ответе, отправляемом сервером. Эта переменная часто используется после формирования ответа и позволяет получить Content-Type, определённый или заданный в конфигурации сервера или во время обработки запроса.

При обработке запроса NGINX определяет подходящий Content-Type на основе различных факторов, таких как расширение файла запрашиваемого ресурса, согласование содержимого или явные настройки в файлах конфигурации. После создания ответа и непосредственно перед его отправкой клиенту переменная $sent_http_content_type может быть использована для оценки или логирования исходного Content-Type. Она не определена до тех пор, пока заголовок ответа не будет сформирован, и поэтому может быть недоступна для некоторых запросов, если ответ не является действительным или не был задан.

Типичные значения этой переменной могут включать стандартные MIME-типы, такие как "text/html", "application/json", "image/png" и т.д., в зависимости от содержимого, которое обслуживает NGINX. Если ответ не отправлен или Content-Type не указан, эта переменная будет пустой. Поэтому рекомендуется проверять, задана ли она, прежде чем использовать в логировании или при принятии решений.

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

location / {
    add_header Custom-Header "$sent_http_content_type";
    proxy_pass http://backend;
}

Переменная не устанавливается до тех пор, пока не будут созданы заголовки ответа, поэтому её нельзя использовать на этапах предварительной обработки запроса.

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

← Ко всем переменным