大家好,又见面了,我是你们的朋友全栈君。
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的基本区别如下:
-
SOAP是协议, REST是架构风格
SOAP Web Services的开发需要遵循SOAP协议。
REST Web services的开发需要遵循REST的架构风格。
一个REST Web service也可以使用SOAP协议。 -
消息格式
SOAP支持XML消息格式,REST支持平文,HTML,XML,JSON格式消息 -
驱动
SOAP是功能驱动,REST是数据驱动或资源驱动 -
使用协议
SOAP可以使用HTTP,SMTP等协议, REST只使用HTTP协议 -
安全性
SOAP更安全,不仅像 REST 一样支持 SSL,还支持增加了很多企业级安全特性的 WS-Security(WS = web services),因此它能够提供通过中介的身份验证,而不仅仅是端对端的验证(SSL)。还有内置的ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability))
REST 受限于 HTTPS,HTTP 本身无法提供两阶段提交分布式事务资源,但是 SOAP 可以。 -
复杂性,灵活性
因为严格的规则和安全性,SOAP是复杂的,缺乏灵活性,需要更多的带宽和计算机容量。
REST更加灵活,更少的资源和带宽需求。 -
缓存
SOAP不能被缓存,REST可以被缓存 -
技术
SOAP使用JAX-WS(Java API for XML Web Services) ,REST使用JAX-RS(Java API for RESTful Web Services) -
调用
SOAP 使用 RPC (Remote Procedure Calls)
REST 使用HTTP 方法. -
SOAP是一个官方的标准,REST不是
-
应用领域
SOAP应用于银行,支付等安全性要求高的系统。
REST用于安全性不高的应用。
下面信息参考http、soap和rest区别
所有的 SOAP 消息发送都使用 HTTP POST 方法,并且所有 SOAP 消息的 URI 都是一样的,这是基于 SOAP 的 Web 服务的基本实践特征。
REST通过URI来定位资源,对资源进行CURD
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159177.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...