charset_types
Директива `charset_types` определяет MIME types, для которых заданный набор символов применяется в NGINX. — NGINX HTTP Core
Описание
Директива `charset_types` в NGINX позволяет администраторам указать, к каким типам содержимого будет применено определённое кодирование символов. Эта директива принимает один или несколько MIME types в качестве аргументов и должна использоваться внутри блока `http`, `server` или `location`. Когда ответ соответствует одному из указанных MIME types, NGINX автоматически добавляет соответствующий заголовок `Content-Type` для этого набора символов, информируя тем самым клиентов о том, как корректно интерпретировать данные ответа. Например, если вы укажете `charset_types text/html application/json;`, NGINX будет отправлять набор символов, заданный директивой `charset`, для любого ответа с `Content-Type: text/html` или `Content-Type: application/json`. Это особенно полезно для обеспечения корректного отображения текста на клиентах: задавая набор символов по умолчанию для разных типов файлов, вы повышаете совместимость с многобайтовыми кодировками символов, такими как UTF-8. Если тип содержимого запроса не совпадает ни с одним из типов, указанных в `charset_types`, NGINX не будет применять набор символов по умолчанию, заданный директивой `charset`, к таким ответам, что позволяет точно контролировать, как разные типы содержимого обрабатывают кодировку символов.
Пример конфига
http {
charset UTF-8;
charset_types text/html application/json text/css;
}
Если `charset` не задан в вашей конфигурации, то `charset_types` не будет иметь эффекта, так как нет набора символов, который можно применить к указанным типам.
Будьте осторожны при установке `charset_types`, так как оно влияет на все совпадающие ответы в пределах заданного контекста, что может привести к непредвиденному поведению, если это не контролировать должным образом.