xml_entities

Директива 'xml_entities' включает или отключает кодирование сущностей XML в ответах NGINX. — NGINX HTTP Core

xml_entities
httpserverlocation
Синтаксисxml_entities on | off;
По умолчаниюoff
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1

Описание

Директива 'xml_entities' управляет тем, как сущности XML обрабатываются внутри NGINX, особенно влияя на представление отдельных символов в XML-документах, обслуживаемых сервером. Когда включена, эта директива гарантирует, что специальные символы, такие как `<`, `>` и `&`, правильно кодируются в соответствующие ссылки на сущности XML, что помогает соответствовать стандартам XML. Это особенно важно при выдаче XML-файлов или приложений, использующих XML-структуры данных, чтобы обеспечить сохранность данных и предотвратить некорректное интерпретирование XML-парсерами. При установке любой экземпляр символов, имеющих особое значение в XML, будет заменяться на соответствующие ссылки на сущности всякий раз, когда сервер формирует ответ, включающий XML-контент. Это помогает избегать потенциальных ошибок разбора со стороны клиентов, ожидающих корректно сформированный XML. Директиву можно размещать в разных контекстах, таких как http, server и location, что позволяет тонко настраивать ответы в зависимости от места применения.

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

http {
    xml_entities on;

    server {
        location /api {
            xml_entities on;
        }
    }
}

Убедитесь, что это не конфликтует с другими директивами, отвечающими за форматирование вывода.

Не включайте XML-сущности, если вы обслуживаете простой текстовый контент, так как это может привести к ненужным накладным расходам.