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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue中引入高德地图并多点标注

    vue中引入高德地图并多点标注vue中引入高德地图并多点标记步骤:通过vue的方法引入地图初始化地图,设置宽和高信息窗口实例遍历生成多个标记点首先在项目的public下的index.html中引入地图<linkrel=”stylesheet”href=”https://cache.amap.com/lbs/static/main1119.css”/><scriptsrc=”https://webapi.amap.com/maps?v=1.4.15&key=申请的key”>&l

    2022年5月20日
    402
  • awstats分析nginx日志「建议收藏」

    awstats分析nginx日志「建议收藏」看了awstats介绍后,感觉是个好东西,等装好来用的时候,不像那么一回事。awstats说白了就是对nginx,apache产生的日志进行分析。awstats分析出来的数据不准,日志是按照一定的规则来生成的,把访问数据存入到文件中,但是数据存入的时候可能是不全的,awstats分析的时候就有误差。一,安装awstatsyuminstallawstats二,配置awstats1,nginx的日志格式查看复制打印?log_formataccess_www’$remote…

    2022年7月16日
    13
  • 怎样将生成的xml文件进行格式化

    怎样将生成的xml文件进行格式化最近有在项目中生成xml文件,但是生成之后的xml文件打开之后,是一坨,看起来真的不美观,要是能够格式化输出来就好了。这里说明一下,我使用DOM4J的方式生成的xmlpublicstaticv

    2022年7月1日
    25
  • 多层感知机详解(如果增加多层感知机的隐藏层层数)

    Principlesoftrainingmulti-layerneuralnetworkusingbackpropagation  Theprojectdescribesteachingprocessofmulti-layerneuralnetworkemploying backpropagation algorithm.Toillustrateth…

    2022年4月11日
    128
  • 数独高级技巧_数独高阶技巧

    数独高级技巧_数独高阶技巧链(Chain)是数独高阶技巧的核心,所有数独盘势都可以通过各种或简单或复杂的链来解出答案。链的本质是命题之间的关系,在解数独时,每个填数的步骤都可表现为在『A格中填入1』、『B格中填入2』这样非真即

    2022年8月4日
    10
  • Java分布式面试题集合(收藏篇)

    Java分布式面试题集合(收藏篇)分布式分为分布式缓存(Redis)、分布式锁(Redis或Zookeeper)、分布式服务(Dubbo或SpringCloud)、分布式服务协调(Zookeeper)、分布式消息队…

    2022年5月15日
    64

发表回复

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

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