其他分享
首页 > 其他分享> > WebServices : REST vs SOAP

WebServices : REST vs SOAP

作者:互联网

WebService: REST vs SOAP

万维网正经历海量数据进化到基于服务的演进,其中web service正是这次演进的重要部分。

什么是web service?

web service是两个设备跨越万维网的连接方式。W3C给web service给出的定义是:支持跨越网络的机器和机器之间交互的软件系统。他有机器可理解格式表达的接口(比如WSDL)。与之交互的其他系统根据预先定义的规则使用SOAP消息来交互,典型的,使用HTTP协议使用XML序列化来和其他系统互联。
Web-service-diagram.png
Roy Fielding提出了更可靠的web应用架构:表示状态转移(REST)。在REST风格中,请求和应答是围绕着资源的表示状态来构建的。一个资源(比如:一个人),可以是任何被定位的东西。资源的表示常常是一个文档(比如XML或是JSON)表示当前或预期的资源状态。

什么是SOAP

SOAP是用于实现Web Service时交换结构化信息的协议。它的消息格式使用XML。他和传输协议是不相关的(可以使用HTTP,FTP,TCP,UDP,或者命名管道)。基于SOAP的服务严格的定义了来回传递的消息格式。一个SOAP消息上面含有数据和操作,头信息和失败的错误信息。由WS-Security提供安全标准,然后它是端对端的。SOAP提供了让服务想客户端描述自己的机制(WSDL),以及发现(UDDI)。SOAP同样提供了可靠的消息机制(WS-ReliableMessageing),内建了重试并提供了端到端的可靠机制。

什么是REST

表示状态转移(REST)是一种用来设计网络应用的架构风格。

REST网络API(或REST网络服务)是使用HTTP和REST 原则实现的网络API。RESTful API更关心用户接口(而不是数据存储)。提供了跨平台和简化服务组件(无状态),每一个来自客户端的请求都包括全部的状态信息,服务器不会再session中保存客户的上下文。

SOAP vs REST

SOAP一个主要的有点是WSDL服务描述。可以自动发现服务并生成服务代理客户端。在版本2.0中,WSDL支持所有的HTTP谓词并能很好的提供RESTful服务文档,但是WSDL相对来说比较臃肿.
HTTPS对RESTful服务的安全提供支持,仅是point-to-point的。缺乏标准的信息系统和异常处理。而SOAP具有内建的成功/重试机制,且提供end-to-end的基于SOAP的可靠机制。
RESTful服务一个主要的有点是其数据表示的灵活性,比如你可以序列化你的数据到XML或JSON格式。RESTful API是易于理解的,一个使用URI的元素+HTTP谓词。
同时RESTful服务也是轻量的,相比xml,没有额外的标签。调用RESTful API时,只需要一个浏览器或任何一台联网的设备。

标签:web,HTTP,REST,vs,WebServices,WSDL,RESTful,SOAP
来源: https://www.cnblogs.com/homehtml/p/12860074.html