Kyl*_*yle 124 xml sitemap mime-types xml-sitemap
我以为我应该发送"text/xml",但后来我读到我应该发送"application/xml".有关系吗?有人可以解释这个区别吗?
Gum*_*mbo 155
如果省略charset参数,则text/xml和application/xml之间的区别是缺省字符编码:
未明确指定charset参数时,Text/xml和application/xml的行为会有所不同.如果text/xml的默认字符集(即US-ASCII)由于某种原因(例如,错误的Web服务器)不方便,则application/xml提供了另一种选择(参见3.2节中application/xml注册的"可选参数").
对于text/xml:
符合[RFC2046],如果收到text/xml实体且省略了charset参数,MIME处理器和XML处理器必须使用默认的charset值"us-ascii"[ASCII].在通过HTTP传输XML MIME实体的情况下,默认的字符集值仍然是"us-ascii".
如果接收到省略charset参数的application/xml实体,则不会通过MIME Content-Type标头提供有关charset的信息.符合XML处理器必须遵循直接解决此意外事件的[XML] 4.3.3节中的要求.但是,如果从application/xml实体中省略了charset参数,则非XML处理器的MIME处理器不应采用默认字符集.
因此,如果省略charset参数,则text/xml的字符编码为US-ASCII,而使用application/xml时,可以在文档本身中指定字符编码.
现在互联网上的经验法则是:"严格控制输出,但要容忍输入."这意味着确保在通过互联网传输数据时尽可能满足标准.但建立一些机制来忽略错误或猜测何时通过互联网接收和解释数据.
所以在你的情况下只需选择两种类型中的一种(我推荐application/xml)并确保正确指定使用的字符编码(我建议使用相应的默认字符编码来安全播放,因此在应用/ xml使用的情况下UTF-8或UTF-16).
nas*_*nas 24
根据经验,所有Web服务器,代理和客户端浏览器都能正确处理文档的最安全措施可能如下:
对于某些浏览器无法正确实现的RFC 3023规范,内容类型的主要区别在于客户端应如何处理字符编码,如下所示:
对于application/xml,application/xml-dtd,application/xml-external-parsed-entity,或者application/xml的任何一个子类型,例如application/atom + xml,application/rss + xml或application/rdf + xml ,字符编码按此顺序确定:
对于text/xml,text/xml-external-parsed-entity,或者text/foo + xml这样的子类型,文档中XML声明的编码属性将被忽略,字符编码为:
大多数解析器都没有实现规范; 他们忽略HTTP Context-Type,只使用文档中的编码.有这么多不合格的文件,这不太可能很快改变.
两者都很好.
text/xxx表示如果程序不理解xxx,则将文件作为纯文本显示给用户是有意义的.application/xxx意味着展示它是没有意义的.
请注意,这些内容类型最初是为电子邮件附件定义的,之后才会在Web世界中使用.
text/xml用于对人类有意义的文档(如果以文本形式显示而无需进一步处理),application/xml用于其他所有内容
每个XML实体都适合与application/xml媒体类型一起使用而无需修改.但是,这并没有利用XML在许多情况下可以被视为纯文本的事实.没有明确支持application/xml的MIME用户代理(和Web用户代理)会将其视为application/octet-stream,例如,通过提供将其保存到文件中.
要指示默认情况下应将XML实体视为纯文本,请使用text/xml媒体类型.这将XML实体中使用的编码限制为与[RFC-2045]和[RFC-2046]中描述的文本媒体类型要求兼容的编码,例如UTF-8,但不是UTF-16(除了HTTP).
- http://www.ietf.org/rfc/rfc2376.txt
| 归档时间: |
|
| 查看次数: |
117960 次 |
| 最近记录: |