charset_types

Директива `charset_types` определяет MIME types, для которых заданный набор символов применяется в NGINX.

Синтаксисcharset_types type1 [type2...];
По умолчаниюnone
Контекстhttp, server, location
Аргументы1+

Описание

Директива 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, так как оно влияет на все совпадающие ответы в пределах заданного контекста, что может привести к непредвиденному поведению, если это не контролировать должным образом.

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