API Testing 11 – SOAP和REST API区别

API Testing 11 – SOAP和REST API区别设计一个Webservice或API依靠下面两个通用的实现:SOAP–SimpleObjectAccessProtocolREST–RepresentationalStateTransferProtocol采用哪种实现方式创建一个Webservice或API,取决于项目或系统的需求。我们来探讨一下SOAP和REST的区别。当下RESTWebservice比较抢手。SOAP和REST的基本区别如下:SOAP是协议,REST是架构风格SOAPWebServices

大家好,又见面了,我是你们的朋友全栈君。

API Testing 入门基础系列 之 API Testing 11 – SOAP和REST API区别

设计一个Web service或API依靠下面两个通用的实现:

SOAP – Simple Object Access Protocol
REST – Representational State Transfer Protocol

采用哪种实现方式创建一个Web service或API,取决于项目或系统的需求。我们来探讨一下SOAP和REST的区别。当下REST Web service比较抢手。

SOAP和REST的基本区别如下:

  1. SOAP是协议, REST是架构风格
    SOAP Web Services的开发需要遵循SOAP协议。
    REST Web services的开发需要遵循REST的架构风格。
    一个REST Web service也可以使用SOAP协议。

  2. 消息格式
    SOAP支持XML消息格式,REST支持平文,HTML,XML,JSON格式消息

  3. 驱动
    SOAP是功能驱动,REST是数据驱动或资源驱动

  4. 使用协议
    SOAP可以使用HTTP,SMTP等协议, REST只使用HTTP协议

  5. 安全性
    SOAP更安全,不仅像 REST 一样支持 SSL,还支持增加了很多企业级安全特性的 WS-Security(WS = web services),因此它能够提供通过中介的身份验证,而不仅仅是端对端的验证(SSL)。还有内置的ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability))
    REST 受限于 HTTPS,HTTP 本身无法提供两阶段提交分布式事务资源,但是 SOAP 可以。

  6. 复杂性,灵活性
    因为严格的规则和安全性,SOAP是复杂的,缺乏灵活性,需要更多的带宽和计算机容量。
    REST更加灵活,更少的资源和带宽需求。

  7. 缓存
    SOAP不能被缓存,REST可以被缓存

  8. 技术
    SOAP使用JAX-WS(Java API for XML Web Services) ,REST使用JAX-RS(Java API for RESTful Web Services)

  9. 调用
    SOAP 使用 RPC (Remote Procedure Calls)
    REST 使用HTTP 方法.

  10. SOAP是一个官方的标准,REST不是

  11. 应用领域
    SOAP应用于银行,支付等安全性要求高的系统。
    REST用于安全性不高的应用。

下面信息参考http、soap和rest区别
所有的 SOAP 消息发送都使用 HTTP POST 方法,并且所有 SOAP 消息的 URI 都是一样的,这是基于 SOAP 的 Web 服务的基本实践特征。
在这里插入图片描述

REST通过URI来定位资源,对资源进行CURD
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159177.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RSA加密算法解读

    RSA加密算法解读图为RSA公开密钥算法的发明人,从左到右RonRivest,AdiShamir,LeonardAdleman.照片摄于1978年  RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它。但是有不少新来的同事对它不太了解,恰好看到一本书中作者用实例对它进行了简化而生动的描述,使得高深的数学理论能够被容易地理解。我们经过整理和改写特别推荐给大家阅读,希望能够对时间…

    2022年6月1日
    39
  • PHP常见面试题_php算法面试题及答案

    PHP常见面试题_php算法面试题及答案1.PHP的基础知识点PHP中类的继承属于单继承,一个子类只能继承一个父类。可见性为publicprotected的属性和方法可以被继承。继承的方法或属性可以被重写,可见性越来越大。PHP中的变量名区分大小写,但类名、函数名不区分大小写。2.error_reporting()函数的作用error_reporting()函数的作用是临时设置脚本执行过程中的错

    2022年8月25日
    7
  • 虚拟机VMware下载与安装教程(详细)

    虚拟机VMware下载与安装教程(详细)文章目录虚拟机VMware的下载虚拟机VMware的安装虚拟机VMware的下载虚拟机VMware的安装1.虚拟机VMware的下载官网地址:https://www.vmware.com/cn.html以下为官网界面选择“产品”—>“个人桌面”—>“WorkstationPro”选择“下载”(这里虽然是“试用Workstation15.5Pro”,但是点击“下载”之后,将会跳转到“Workstation16Pro”的下载界面)根据自己电脑的系统,比如你的电脑是Wi

    2022年6月7日
    39
  • 使用vagrant一键部署本地php开发环境(一)[通俗易懂]

    使用vagrant一键部署本地php开发环境(一)

    2022年2月8日
    45
  • ER图是什么?「建议收藏」

    ER图是什么?「建议收藏」ER图分为实体、属性、关系三个核心部分。实体是长方形体现,而属性则是椭圆形,关系为菱形。ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entitymember)或者说实体对象(entityinstance),例如学生实体里包括张三、李四等,实体成员(entitymember)/实体实例(entityinstance)不需要出现在ER图中。ER图的属性(attribute)即数据对象所具有的属

    2022年9月23日
    2
  • redis windons安装教程

    redis windons安装教程redis windons安装教程

    2022年4月24日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号