什么是SOAP,什么是REST

SOAP: 简单对象访问协议。是交换数据的一种协议。消息采用xml格式,使用http协议。

REST: 是传输对象的一种简单方法,rest没有定义太多的标准,传输的对象可以使json格式,xml格式,甚至是普通文本。相对于soap来说是轻量级的。

soap和rest的区别如下的图片可以说明:


解释一下,soap图意思是,即使你传一个简单的信息,也需要按照soap定义的各种标准,包装成xml再进行传输,过于复杂了。

(原文请参考http://stackoverflow.com/questions/209905/rest-and-soap


soap是一个严格定义的信息交换协议,用于web service调用和返回封装成机器可读的格式化数据。soap使用xml数据格式,定义了一系列复杂的标签,以描述调用的远程过程,参数,返回值和错误信息等等,随着需要的增长,又不得不增加协议以支持协议的安全性,这使得soap变得异常庞大。另一方面,各个服务器都基于这个协议推出自己的api,这就导致了wsdl的诞生。wsdl也使用xml数据格式,描述了服务器提供什么样的服务,访问点是什么,访问的接口规范等等。这样一来,使用web service的核心变成:获取描述服务的wsdl,根据wsdl构建一条格式化的soap请求发给服务器,然后接收一条同样格式的soap应答,再根据wsdl解码。

rest说到底,并不是协议或规范,而是一种架构风格。它是面向资源的,甚至将服务也抽象为一种资源。它和http紧密结合,因为它服务器无状态。rest简单而直观,用http请求的信息指明资源的表现形式,用http的错误机制返回访问资源的错误。由此带来的好处就是构建成本降低了。用uri定位资源,这利用了已经成熟的技术,不需要再在服务端开发一套资源访问的机制。只要简单的配置服务器就能控制资源的访问权限,例如通过禁止非GET访问将资源设为只读。














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值