REST与SOAP

作者: 短暂瞬间 | 来源:发表于2018-11-21 23:17 被阅读16次

第63篇

最近遇到REST与SOAP的讨论,对于其中的具体含义不理解,于是找相关的资料了解一下。

1、什么是REST

REST:Representational State Transfer。『表现层状态转换』,是一种互联架构风格,是由Roy Thomas Fielding于2000年提出,兼容于这种风格(简称REST或RESTful)的网络服务可以称为 RESTful web service。
RESTful web service允许客户端使用统一且预定义的无状态操作方法来访问和操作Web资源的表现形式。

REST架构风格的特点

  • Client–server architecture 客户端-服务器分离
    请求由客户端单方面发起;用户界面和数据存储的分开可以提高界面的跨平台可移植性;分离架构更容易扩展,并且服务的部件可独立发展和升级。
  • Statelessness 无状态性
    客户端与服务器的会话状态全部由客户端负责,各请求之间不存在相互的状态依赖。
  • Cacheability 可缓存
    服务端的响应内容可以缓存,从而减少客户端和服务端的数据交互,进一步提高性能
  • Layered system 分层
    客户端无法判断是否直接连到了服务器还是通过代理连接的,所以中间层可以使用负载均衡或者提供共享缓存来提供可伸缩性,也可以用来部署安全策略。
  • Uniform interface 统一接口
    是RESTful系统设计的基础。简化并解耦了服务端架构,使得每个部件都可以独立发展升级。

2、什么人是SOAP

SOAP:Simple Object Access Protocol。『简单对象访问协议』 [1] ,是一种交换结构化数据的协议规范,由W3C制定,目前推荐版本是SOAP 1.2,这种协议使用XML定义其消息格式,并通过HTTP/SMTP进行消息传输。

3、REST与SOAP对比

风格VS协议

REST是一种思想,一种设计风格,而SAOP是一种协议。

标准HTTP方法 VS 自定义接口方法

RESTful Web 服务使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 来抽象所有 Web 系统的服务能力,SOAP 应用都通过定义自己个性化的接口方法来抽象 Web 服务。

可复用HTTP缓存 VS 无法轻易缓存

REST 的应用可以充分地挖掘 HTTP 协议对缓存支持的能力,而SOAP因为无法查看SOAP请求的内容从而无法轻易实现缓存支持。

以资源为中心 VS 以操作为中心

RESTful Web服务是以资源为中心的,以URL定位所有可访问目标,对每个资源的操作都是标准化的HTTP方法,而SOAP的Web服务以操作为核心,每个操作的输入输出都通过XML文件实现。

3、RESTful Web服务与 SOAP Web服务的区别

RESTful架构
SOAP架构

通过上面两张图可以明显看出两种Web服务的区别,比如HTTP方法的区别、响应的内容、资源的URL地址、服务端数据的存储方式。

4、参考文章和资料

Representational state transfer 维基百科
SOAP 维基百科
Web 服务编程,REST 与 SOAP
WebService的两种方式SOAP和REST比较


  1. SOAP曾经代表“Simple Object Access Protocol”,但这种缩写已经在标准的1.2版后被废止了。1.2版中扩展了定义,SOAP也可以理解为 Service Oriented Architecture Protocol。

相关文章

  • REST与SOAP

    第63篇 最近遇到REST与SOAP的讨论,对于其中的具体含义不理解,于是找相关的资料了解一下。 1、什么是RES...

  • restful终结篇

    REST,RESTFUL,SOAP,RPC,RESTFUL Web API区别 1. REST (Represen...

  • 2016-4-08-Paypal onsite 面试记录

    round1 : 和善的印度老头、经理 soap vs REST , follow up , 为什么soap会...

  • RESTful设计风格

    REST模式与复杂的SOAP和XML-RPC相比更加简洁,越来越多的web服务开始采用REST风格设计和实现RES...

  • 【SoapUI】 一个可以模拟服务端的工具

    SoapUI:Functional Testing for SOAP and REST APIs--使用它我们可以...

  • WebService SOAP REST

    简介 Web 服务是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作。Web Ser...

  • Salesforce Marketing Cloud 集成解决方

    Salesforce Marketing Cloud提供了2种API集成解决方案:REST and SOAP A...

  • Rest WebService

    Web Service有两种方式,一是SOAP方式,二是REST方式。SOAP是基于XML的交互,WSDL也是一个...

  • rpc restful soap

    RPC、SOAP、REST的区别 RPC(remote procedure call,远程过程调用)如thrift...

  • RPC、SOAP、HTTP REST

    分布式系统离不开多进程之间的通信问题,包括本机进程之间的IPC通信和基于网络的进程间远程通信。各种通用的远程通信技...

网友评论

    本文标题:REST与SOAP

    本文链接:https://www.haomeiwen.com/subject/oykfqqtx.html