为了账号安全,请及时绑定邮箱和手机立即绑定

用于Web服务的SOAP还是REST?

用于Web服务的SOAP还是REST?

繁星点点滴滴 2019-07-03 11:01:22
用于Web服务的SOAP还是REST?REST是进行Web服务的更好方法还是SOAP?或者是针对不同问题的不同工具?或者这是一个微妙的问题-也就是说,在某些领域,一个比另一个稍微好一些,等等?我特别希望了解这些概念及其与PHP世界以及现代高端网络应用程序之间的关系。
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

我在惠普(Hewlett-Packard)工作时,从最初的规范中构建了首批SOAP服务器之一,包括代码生成和WSDL生成。我不建议用肥皂做任何事。

首字母缩写“肥皂”是个谎言。它不是简单的,它不是面向对象的,它没有定义任何访问规则.可以说,这是一项议定书。这是Don Box有史以来最糟糕的规范,这是一个相当了不起的壮举,因为他是犯下“com”罪的人。

在SOAP中,没有什么是不能用REST传输的,JSON、XML,甚至是用于数据表示的纯文本。对于传输安全,可以使用https。对于身份验证,基本要求。会议上有饼干。其余版本将更简单、更清晰、运行更快、使用更少的带宽。

XMLRPC明确定义了请求、响应和错误协议,大多数语言都有很好的库。然而,XML比您在许多任务中所需要的要重。


查看完整回答
反对 回复 2019-07-03
?
撒科打诨

TA贡献1934条经验 获得超2个赞

REST是一种体系结构,SOAP是一种协议。

这是第一个问题。

您可以在REST应用程序中发送SOAP信封。

SOAP本身实际上是非常基本和简单的,正是WSS-*标准使它变得非常复杂。

如果您的使用者是其他应用程序和其他服务器,那么现在对SOAP协议的支持非常多,移动数据的基本原理就是在现代IDE中点击鼠标。

如果您的消费者更可能是RIA或Ajax客户端,那么您可能需要比SOAP更简单的东西,并且更适合客户机(尤其是JSON)。

通过HTTP发送的JSON数据包不一定是REST架构,它只是发送给URL的消息。所有这些都是完全可行的,但REST成语有一些关键的组成部分。然而,这两者很容易混淆。但是,仅仅因为您正在谈论HTTP请求,并不一定意味着您有一个REST体系结构。您可以使用没有HTTP的REST应用程序(注意,这是很少见的)。

因此,如果您有使用SOAP的服务器和使用者,SOAP和WSS堆栈可以很好地为您服务。如果您正在做更多的临时工作,并且希望更好地与Web浏览器交互,那么一些更轻的HTTP协议也可以很好地工作。


查看完整回答
反对 回复 2019-07-03
  • 3 回答
  • 0 关注
  • 532 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信