xml_entities
The 'xml_entities' 指令用于在 NGINX 响应中启用或禁用对 XML 实体的编码。 — NGINX HTTP Core
xml_entities
httpserverlocation
语法xml_entities on | off;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
'xml_entities' 指令控制 NGINX 中 XML 实体的处理方式,特别影响服务器所提供的 XML 文档中某些字符的表示。当启用时,该指令会确保诸如 `<`, `>` 和 `&` 等特殊字符被正确编码为对应的 XML 实体引用,从而有助于符合 XML 标准。这在提供 XML 文件或使用 XML 数据结构的应用中尤为重要,以保证数据完整性并防止 XML 解析器误解。 设置该指令后,任何在服务器生成包含 XML 内容的响应时出现的具有特定含义的字符都会被替换为相应的实体引用。这有助于避免客户端在期望良构 XML 时遇到的潜在解析错误。该指令可以放在不同上下文中,例如 http、server 和 location,从而可以根据应用位置对响应进行细粒度控制。 该指令接受单个参数:使用 `on` 启用实体编码,或使用 `off` 禁用它。如果该指令设置为 'off',NGINX 将在传输 XML 数据时不对特殊字符进行实体编码,这可能导致 XML 消费者处理不正确。
配置示例
http {
xml_entities on;
server {
location /api {
xml_entities on;
}
}
}⚠
确保它不会与其他处理输出格式的指令发生冲突。
⚠
如果您正在提供纯文本内容,请不要启用 XML 实体,因为这可能导致不必要的开销。