这是关于text/xmlapplication/xml之间差异的一般性问题。 我很擅长编写webservices(REST - Jersey)。 我一直在生成application/xml因为它出现在我一直用来学习的大多数教程/代码示例中,但是我最近发现了text/xml并且想知道它有什么不同以及何时使用它over application/xml


#1楼

根据这篇文章, application / xml是首选。


编辑

我对这篇文章做了一些跟进。

作者声称在XML处理指令中声明的编码,如:

<?xml version="1.0" encoding="UTF-8"?>

可以在使用text/xml媒体类型时忽略。

他们在RFC 2046中定义了text/* MIME类型系列规范,特别是以下片段:

4.1.2.  Charset ParameterA critical parameter that may be specified in the Content-Type fieldfor "text/plain" data is the character set.  This is specified with a"charset" parameter, as in:Content-type: text/plain; charset=iso-8859-1Unlike some other parameter values, the values of the charsetparameter are NOT case sensitive.  The default character set, whichmust be assumed in the absence of a charset parameter, is US-ASCII.The specification for any future subtypes of "text" must specifywhether or not they will also utilize a "charset" parameter, and maypossibly restrict its values as well.  For other subtypes of "text"than "text/plain", the semantics of the "charset" parameter should bedefined to be identical to those specified here for "text/plain",i.e., the body consists entirely of characters in the given charset.In particular, definers of future "text" subtypes should pay closeattention to the implications of multioctet character sets for theirsubtype definitions.

根据他们的说法,使用application/xml MIME类型时可以避免这种困难。 无论是否真实,我都不会避免使用text/xml 。 恕我直言,最好只是遵循人类可读性(不可读性)的语义,并始终记住指定字符集。


#2楼

这是一个古老的问题,但现在可以从RFC 7303获得经常访问的一个明确的建议,它废弃了RFC3023。 简而言之(第9.2节):

The registration information for text/xml is in all respects the same
as that given for application/xml above (Section 9.1), except that
the "Type name" is "text".

#3楼

application/xmlsvn视为二进制类型,而text/xml视为可以显示diff的文本文件。


#4楼

来自RFC( 3023 ),第3节,XML媒体类型:

如果临时用户可以读取 XML文档(即未处理的源XML文档),则text / xml优于application / xml。 没有明确支持text / xml的MIME用户代理(和Web用户代理)会将其视为text / plain,例如,将XML MIME实体显示为纯文本。 当临时用户无法读取 XML MIME实体时,最好使用Application / xml

(强调我的)


#5楼

不回答你的问题,而是提供简单的生活:

当你生活在.NET框架生态系统中时 - >看看https://referencesource.microsoft.com/#system.web/MimeMapping.cs line~430:

AddMapping(".xml", "text/xml");

所以你可以随时做

string mimeType = System.Web.MimeMapping.GetMimeMapping(string yourFileName)

正确地获取你的mimetype

对于webservice响应,text / xml与application / xml之间有什么区别相关推荐

  1. springmvc web.xml和application.xml配置详情(附:完整版pom.xml)

    web.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns=" ...

  2. JS解析XML文件和XML字符串

    http://www.cnblogs.com/chjw8016/archive/2011/07/12/2104269.html JS解析XML字符串 <script type='text/jav ...

  3. Webservice报错客户端发现响应内容类型为“application/json;charset=UTF-8”,但应为“text/xml”。...

    控制台对接Webservice正常,同样的方法在Web项目上报错: 客户端发现响应内容类型为"application/json;charset=UTF-8",但应为"te ...

  4. java的input不能更改,无法将方法响应标头Content-Type更改为application / xml

    尝试解决Twilio 12300错误:使用AWS的API网关(GET)和CloudFormation通过 aws cli 和Swagger部署Lambda(无服务器)应用程序时导致的内容类型无效 . ...

  5. C# WebApi Xml序列化问题解决方法:“ObjectContent`1”类型未能序列化内容类型“application/xml;charset=utf-8“的响应正文。...

    C# WebApi Xml序列化问题解决方法:"ObjectContent`1"类型未能序列化内容类型"application/xml;charset=utf-8&quo ...

  6. Content-Type中application/json和application/xml

    Content-Type:MediaType,即是Internet Media Type,互联网媒体类型:也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体 ...

  7. autoconfig.xml与antx.properties一级application.properties之间的关系

    Java web项目中一般都有配置文件,文件中包含一些配置信息供Java工程启动和运行时使用,这些常见的配置文件大都是一些以.properties后缀的文件,比如常见的antx.properties以 ...

  8. spring加载application.xml异常

    2019独角兽企业重金招聘Python工程师标准>>> Caused by: org.springframework.beans.factory.xml.XmlBeanDefinit ...

  9. ssh2的application.xml配置文件配置详解

    ssh2的application.xml配置文件配置详解 1.导入其他的配置文件.在ssh项目中可以导入其他的配置文件,导入的格式为: <import resource="classp ...

最新文章

  1. maven环境快速搭建
  2. linux下搭建hexo环境
  3. java操作字符串的工具类StringUtil
  4. 华为手机下拉菜单没了_用了三年才知道华为录屏这么强大!再不会用,手机钱打水漂了...
  5. 数据结构6——回文树
  6. Java爬虫系列二:使用HttpClient抓取页面HTML
  7. 我的内核学习笔记11:linux leds-gpio驱动应用实例
  8. jaxb实现java对象与xml之间转换_JAXB实现XML与Java对象转换
  9. 华为、H3C、锐捷、思科四大厂商交换机配置命令,网工人不得不知
  10. 基于arduino的ESP32 学习笔记(四)基于AIDA64的电脑性能监控
  11. 【PS功能学习】10:蒙版带你领略台前幕后的故事
  12. C++设计模式--单例模式
  13. 为什么每天那么累?如何让自己精力充沛?
  14. bootstrap-select 滚轴_Bootstrap-Select插件
  15. 第31章 MySQL 处理重复数据教程
  16. IMX6Q的硬编码(VPU)的工程代码移植
  17. 通过WIFI双向透传串口向Arduino Uno 无线上传(更新)程序
  18. 重启电脑后MySQL数据丢失_为什么当我重启电脑时会出现数据丢失?
  19. 【C语言练习4】根据公式计算π的值,π=4-4/3+4/5-4/7+4/9+... 打印出一个表格来显示,用公式中的1项、2项、3项...计算出来π的近似值
  20. css ime-mode控制输入全角和半角

热门文章

  1. python数组文件_python数组
  2. Vue Router路由嵌套
  3. 九、非主体机构元素——header元素、footer元素、address元素、网页编排
  4. 约会安排 (区间合并)毒瘤题
  5. 关于tcp、http可能你想知道的那些事
  6. 每日命令:(13)more
  7. 第一讲 网络安全概述笔记
  8. BZOJ-1008 越狱 数论快速幂
  9. BI商业智能项目中的若干风险要素
  10. 使用 EasyBCD 安装Ubuntu 14.04 Error 15: file not found错误的解决方法