SOAP与REST的区别

原文地址: https://blog.smartbear.com/apis/understanding-soap-and-rest-basics/

SOAP: Simple Object Access Protocol

REST: Representational State Transfer

SOAP 和 REST 是获取web service的2种方式。SOAP由Microsoft公司开发的,出现较早。REST是后期开发出来的,两者各有千秋,各有优缺点。

1. SOAP简介

SOAP可延展性很大。在最初的发布之后,微软向Internet工程任务组(IETF)提交了SOAP,在那里它被标准化了。SOAP是为了支持扩展而设计的,因此它具有与之相关的各种其他缩写和缩写,如ws-addressing、ws-policy、ws-security、ws-reliablemessaging、ws-atomictransaction和ws-remoteportlet。事实上,您可以在Web服务标准中找到这些标准的完整清单。但这也有一个弊端,那就是麻烦。有时候也许你只需要你感兴趣的信息。譬如: 在一个公共的网络里,WS-Security就不太需要了。

SOAP依赖于严格的XML格式。有的时候这个就很麻烦了,在某些编程语言里,你需要自己手动编写那些XML请求,这就免不了会有错误。但SOAP对于这些错误是不能容忍的。好消息是有些编程语言能帮我们减少这些错误,比如.net。与SOAP紧密相关的还有WSDL(web service description language).WSDL 定义了web service是怎么工作的,他的IDE 能帮我们很多忙。所以SOAP到底好不好用,与你选择的编程语言相关。

SOAP的一个重要特征就是对错误的处理。如果你发出的请求有问题,则返回的应答包含错误信息。这样你就可以根据这个信息来定位错误。这个相当重要,不然你想想,如果自己不是这个web service的拥有者,你就不知道哪里错了。

SOAP的另一个特点: 不一定要使用HTTP,你可以使用SMTP。

2. REST 简介

REST是轻量级的,很多时候它依赖于一个URL,他可以使用HTTP的GET, POST, PUT, DELETE来展开。

REST不需要XML,基于REST的webservice 他的输出值是csv, json, rss的格式。

3. SOAP VS REST

SOAP是重量级的,相比REST它有如下的优点:

  • 语言,平台,传输独立(REST依赖于HTTP)
  • 适应于在分布式的环境(REST只能直接的点到点传输)
  • 标准
  • 以WS标准的形式提供重要的预构建可扩展性
  • 有内置错误处理机制
  • 可以开展自动化

REST是轻量级的,更灵活,相比SOAP它有如下优点:

  • 不需要昂贵的工具,就可以完成web service 的交互
  • 学习起来更简单
  • 高效(SOAP对所有信息使用XML格式,REST可以使用更简便的格式)
  • 快速,不需要广泛的处理
  • 在设计学上来看,更接近与web技术。




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值