Web服务中http请求正文的默认x-www-form-urlencoded内容类型

时间:2013-09-02 18:12:17

标签: xml json http rest soap

它可能是REST或SOAP .... 为什么我们应该使用XML或JSON作为Web服务的请求体 为什么我们不在请求体中使用像参数=值&还是另一个的简单字符串 (MIME类型:x-www-form-urlencoded)?

实际上它适用于使用php方法(MIME TYPE:x-www-form-urlencoded)的普通html表单提交,它是默认的...

它不适用于像REST这样的Web服务吗? 如果它工作...使用XML或JSON的原因是什么? 如果关于SOAP的原因是它使用基于HTTP + XML的协议......让我们跳过它并仅考虑REST ......

1 个答案:

答案 0 :(得分:2)

根据HTTP spec,只要您提供相应的Content-type标头,就可以在HTTP响应中发送您喜欢的任何内容类型。

JSON和XML相对于普通查询字符串的主要好处是它们支持层次结构和复杂的数据结构,例如:

{"cars":[{"manufacturer":"Ford"}, {"manufacturer":"GM"}]}

<cars>
   <car>
       <manufacturer>Ford</manufacturer>
   </car>
   <car>
       <manufacturer>GM</manufacturer>
   </car>
</cars>

这些类型的结构通常对Web服务非常有用,并且无法通过普通的查询字符串实现。