gpt4 book ai didi

java - 使用 text/plain 作为 XML over HTTP 的内容类型有哪些潜在问题?

转载 作者:数据小太阳 更新时间:2023-10-29 02:06:59 25 4
gpt4 key购买 nike

我正在从事一个项目,其中第 3 方运行 .NET 环境,提供通过 HTTP 发送和接收 XML 的 REST 风格服务。我这边的项目实际上是完全在一台单独的机器上用 Java 编写的。

我已经构建了系统的整个 Java 部分,假设 POST 或 PUTing XML 文档的内容类型 header 等于“application/xml”会很好(因为它是 XML 规范和相关 RFC 的一部分!) .

无论如何,现在 .NET 团队说它必须是文本/纯文本,否则他们的服务器将拒绝请求,而且他们似乎无法或不知道如何更改它。

那么,使用纯文本/文本作为内容类型通过 HTTP 发送 XML 意味着什么?是否存在任何微妙的“陷阱”,或者这没什么大不了的?

谢谢

最佳答案

除非指定 charset 参数,否则 text/plain 的字符集为 us-ascii。 mime 类型中定义的字符集优先于 xml 文档中定义的字符集,因此如果 xml 文档不是 us-ascii,正确的客户端将错误地解析 xml。

4.1.2 of RFC 2046声明对于文本/纯文本,

The default character set, which must be assumed in the absence ofa charset parameter, is US-ASCII.

即使使用 text/xml,默认字符集也是 us-ascii,来自 3.1 of RFC 3023 部分,

Conformant with [RFC2046], if a text/xml entity is received with thecharset parameter omitted, MIME processors and XML processors MUST usethe default charset value of "us-ascii"

如果您使用 text/plain 并指定了正确的字符集,则该字符集现在被指定了两次,因此最好使用没有与之关联的默认字符集的 application/xml,并让该字符集声明为xml 文档。

关于这个 here 有一个有趣的帖子.

关于java - 使用 text/plain 作为 XML over HTTP 的内容类型有哪些潜在问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8075570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com