xml_entities
Директива 'xml_entities' включает или отключает кодирование сущностей XML в ответах NGINX. — NGINX HTTP Core
Описание
Директива '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-сущности, если вы обслуживаете простой текстовый контент, так как это может привести к ненужным накладным расходам.