我以为我应该发送“text/xml”,但后来我读到我应该发送“application/xml”。有关系吗?有人可以解释其中的区别吗?

有帮助吗?

解决方案

之间的差异 文/xml应用/xml 是默认字符编码,如果 charset 参数略:

文/xml和应用程序/xml不同的行为时charset 参数没有明确规定。如果缺省charset(即, US-ASCII码)为文本/xml是不方便的,因为某些原因(例如,坏网 服务器)、应用程序/xml提供了一种备择性的(见"可选的 参数"的应用程序/xml注册第3.2节).

对于 文/xml:

符合[RFC2046],如果一个文本/xml实体收到 charset参数略,MIME处理器和XML处理器 必须使用的默认charset值"us-ascii"[ASCII].在情况下 在XML MIME实体发送的通过HTTP,默认 charset值仍然是"us-ascii".

对于 应用/xml:

如果应用程序/xml实体收到其中的charset 参数被省略了,不信息正在提供有关 charset由MIME Content-Type header.符合XML 处理器必须按照要求在部分4.3.3的[XML] 直接解决这一应急。然而,MIME处理器 不XML处理器,不应采用默认charset如果 charset参数是省略了一个应用程序/xml实体。

所以如果 charset 参数略、字符编码的 文/xml 是US-ASCII,同时与 应用/xml 字符编码可以被指定在该文件本身。

现在规则的拇指在互联网上的是:"应严格与输出,但可以容忍与输入"。 这意味着确保满足标准时尽可能提供的数据通过互联网。但建立一些机制,忽视了故障或猜测当接收和解释数据在互联网上。

所以在你的情况下,只选择一两个类型(I建议 应用/xml),并确保指定所使用的字符编码的正常(我建议使用各自的默认字符编码,以发挥安全,因此在情况下 应用/xml 使用UTF-8或UTF-16条)。

其他提示

作为拇指的规则,所有Web服务器,代理和客户端浏览器都可以正确处理您的文档的最安全打赌可能是以下内容:

  1. 使用应用程序/ XML内容类型
  2. 在内容类型中包含一个字符编码,可能是UTF-8
  3. 在XML文档本身的编码属性中包含匹配字符编码。
  4. rfc 3023 规范方面,一些浏览器未能正常实施,主要内容类型的差异在于客户端应该如何处理字符编码,如下所示:

    适用于应用程序/ XML,应用程序/ XML-DTD,应用程序/ XML - 外部解析实体,或应用程序/ XML的任何一个子类型,如应用程序/ atom + XML,Application / RSS + XML或应用程序/ RDF + XML,字符编码按此顺序确定:

    1. 内容类型HTTP标头的Charset参数中给出的编码
    2. 在文档中XML声明的编码属性中给出的编码,
    3. UTF-8。
    4. 对于Text / XML,Text / XML - 外部解析实体或诸如文本/ foo + XML等子类型,忽略文档中XML声明的编码属性,并且字符编码是:

      1. 内容类型HTTP标头的Charset参数中给出的编码,或
      2. US-ASCII。
      3. 大多数解析器不实现规范;它们忽略了HTTP上下文类型,只需使用文档中的编码。在那里有这么多不成熟的文件,这不太可能随时改变。

两者都很好。

text / xxx意味着如果程序不理解xxx,则将文件显示为纯文本是有意义的。Application / XXX意味着显示它是毫无意义的。

请注意,这些内容类型最初是为在Web世界中使用的之前定义的电子邮件附件。

文本/ XML是针对人类有意义的文档,如果在没有进一步处理的情况下向人类呈现,应用程序/ XML是所有其他

每个XML实体适用于应用程序/ XML媒体 输入无需修改。但这并没有利用这一事实 在许多情况下,XML可以被视为纯文本。哑剧用户代理商 (和Web用户代理)没有明确支持 Application / XML将其作为应用程序/八位字节流将其视为 示例,通过提供将其保存到文件中。

表示XML实体应被视为纯文本 默认,使用text / XML媒体类型。这限制了编码 用于XML实体与那些兼容的XML实体 如[RFC-2045]和[RFC-2045]中所述的文本媒体类型的要求 [RFC-2046],例如,UTF-8,但不是UTF-16(HTTP除外)。

- http://www.ietf.org/rfc/rfc2376.txt

这里的其他答案解决了什么是正确的一般问题 Content-Type 对于 XML 响应是,并得出结论(与 Web 服务响应的 text/xml 与 application/xml 有什么区别) 两者 text/xmlapplication/xml 是允许的。然而,没有人指出是否有任何特定的规则 站点地图.

回答:没有。站点地图规范是 https://www.sitemaps.org, ,并使用谷歌 site: 搜索您可以确认它不包含单词或短语 哑剧, 模仿型, 内容类型, 应用程序/xml, , 或者 文本/XML 任何地方。换句话说,它对什么话题完全保持沉默。 Content-Type 应用于提供站点地图。

由于站点地图规范中没有任何直接解决此问题的评论,我们可以放心地假设应用与选择站点地图时相同的规则 Content-Type 任何其他 XML 文档 - 即它可能是 text/xml 或者 application/xml.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top