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)
上一篇 2022年7月14日 上午9:46
下一篇 2022年7月14日 上午9:46


相关推荐

  • flash打字游戏源代码

    flash打字游戏源代码package importflash display Sprite importflash display MovieClip importflash events MouseEvent importflash display StageAlign importflash display StageScaleMo importflash utils setTimeou

    2026年3月18日
    4
  • 测试19

    测试19一、Linux必备知识linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有linux能力。二、Shell脚本掌握shell脚本,包括shell基础与应用、shell逻辑控

    2022年7月1日
    30
  • 用python实现祝福弹窗

    用python实现祝福弹窗

    2021年9月17日
    188
  • JSONArray转list实体类[通俗易懂]

    JSONArray转list实体类[通俗易懂]List<实体类>dataArr=JSONArray.parseArray(result,实体类.class);

    2022年6月23日
    99
  • ArcGIS二次开发软件安装

    ArcGIS二次开发软件安装本文主要进行介绍 arcgis 二次开发的前期准备 本人目前大三 喜好编程 也正在进行二次开发的学习 闲暇之余写下这几篇文章 希望可以对从事二次开发的小白提供一些帮助吧 下面言归正传 要进行 arcgis 的二次开发 要安装三个必不可少的软件 分别是 ArcGis Desktop ArcGis Engine 以及 MicrosoftVis 其中 ArcGis Desktop 最新版本为 1

    2026年3月18日
    2
  • 爬虫python入门_python之路pdf

    爬虫python入门_python之路pdfProxyHandler代理器在写爬虫时常常需要做代理IP以反爬虫常用IP有:西刺免费代理:xicidaili.com/nt/快代理:http://kuaidaili.com/代理云:http://dailiyun.com/查看代理的IP:http://www.httpbin.org/ip网站:http://www.httpbin.org/可查看http的一些参数。#检查当前ip…

    2022年7月28日
    8

发表回复

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

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