text/xml和application/xml
困惑
在http消息中,同样是传送xml信息,有的时候看到Content-Type的值是text/xml,有的时候值是application/xml,感到困惑。
例如,用Postman发送http消息给Tomcat中的基于JAX-WS的 web服务:
请求中传送了xml内容,Content-Type是application/xml:
响应中返回了xml内容,Content-Type是text/xml:
解答
今天研究了下,看了几篇RFC。
结论:这两个都是合法的,都可以使用,现在没有什么区别,但仍然推荐使用application/xml
在历史上的RFC规范中,这两个确实有区别,但旧的的RFC不断被新的RFC所代替,例如RFC3023(https://www.rfc-editor.org/rfc/rfc3023),现在已经被RFC7303替换。
现在的RFC7303:https://www.rfc-editor.org/rfc/rfc7303.html
对text/xml和application/xml的描述,摘录部分: