$content_type
Переменная $content_type в NGINX содержит значение заголовка Content-Type HTTP-ответа. — NGINX Core (HTTP)
Описание
Переменная $content_type в NGINX автоматически устанавливается при обработке ответа и отражает заголовок Content-Type этого ответа. Как правило, она используется для указания медиатипа возвращаемого ресурса в формате, определённом RFC 6838. Частые значения включают 'text/html' для HTML-документов, 'application/json' для JSON-ответов и 'image/png' для PNG-изображений. Эта переменная устанавливается в фазе обработки запроса и может быть изменена различными директивами, которые влияют на ответ, такими как 'add_header', 'default_type' и 'types'. Когда NGINX отдаёт статические файлы, Content-Type определяется на основе расширения файла и настроек конфигурации, заданных в блоке 'http' или в конкретных контекстах 'server' или 'location'. Например, если запрашивается файл с расширением '.html', то $content_type обычно устанавливается в 'text/html'. В случаях, когда явный тип не задан, NGINX использует значение, заданное директивой 'default_type', если оно доступно; в противном случае значение может остаться неустановленным.
Пример конфига
location /images/ {
types {
image/png png;
image/jpeg jpg;
image/gif gif;
}
default_type application/octet-stream;
add_header Content-Type $content_type;
}Подсистема
httpКэшируется
ДаКонтексты
http, server, location, ifЕсли не найден подходящий тип, $content_type может быть пустым, что приведёт к неожиданным ответам.
Пользовательские типы должны быть правильно объявлены в блоке 'types', чтобы обеспечить корректное присвоение $content_type.
Использование $content_type в контексте, не предназначенном для работы с ответами, может привести к неуместным значениям.