我应该为我的XML站点地图发送什么内容类型值?

我想我应该发送“text/xml”,但后来我读到我应该发送“application/xml”。这有关系吗?有人能解释一下区别吗

如果省略字符集参数,则text/xmlapplication/xml之间的差异是默认字符编码:

当字符集
参数未显式指定。如果默认字符集(即。,
文本/xml的US-ASCII)由于某些原因(例如,糟糕的web应用程序)不方便
服务器),应用程序/xml提供了一种替代方案(请参见“可选
第3.2节中应用程序/xml注册的参数)

对于text/xml

符合[RFC2046],如果接收到文本/xml实体
省略了charset参数,MIME处理器和XML处理器
必须使用默认字符集值"美国ascii“;[ASCII]。万一
如果XML MIME实体通过HTTP传输,则默认为
字符集值仍然为“0”;美国ascii码

对于应用程序/xml

如果在字符集所在的位置接收到应用程序/xml实体
参数,没有提供有关
MIME内容类型头的字符集。一致性XML
处理器必须遵守[XML]第4.3.3节的要求
这直接解决了这一突发事件。但是,MIME处理器
非XML处理器不应假定默认字符集,如果
在application/xml实体中省略charset参数

因此,如果省略字符集参数,文本/xml的字符编码是US-ASCII,而使用应用程序/xml可以在文档本身中指定字符编码

现在互联网上的一条经验法则是:“严格要求输出,但容忍输入。”这意味着在互联网上传输数据时,要确保尽可能符合标准。但在通过互联网接收和解释数据时,要建立一些机制来忽略错误或猜测

因此,在您的情况下,只需从两种类型中选择一种(我建议应用程序/xml),并确保正确指定使用的字符编码(我建议使用各自的默认字符编码以确保安全,因此在应用程序/xml的情况下,使用UTF-8或UTF-16)

发表评论