gpt4 book ai didi

rest - SOAP——有什么意义?

转载 作者:行者123 更新时间:2023-12-02 01:17:59 25 4
gpt4 key购买 nike

我的意思是,SOAP 的意义是什么?

Web 服务已经存在了一段时间,并且有一段时间术语“SOAP”和“Web 服务”在很大程度上可以互换。然而,对我来说,SOAP 总是显得笨拙且过于复杂。

然后 REST 出现了,Web 服务突然变得有意义了。

正如 Joel Spolsky 所说,给程序员一个 REST URL,他们就可以立即开始使用该服务并弄清楚它。

SOAP 在 WSDL 和大量冗长的 XML 后面被混淆,尽管它是基于 Web 的,但您无法执行像使用 Web 浏览器访问 SOAP 服务这样简单的操作。

所以我的问题的本质是:

  • 有什么充分理由选择 SOAP 而不是 REST?
  • 您现在正在使用 SOAP 吗?如果接口(interface)是 REST 会更好吗?
  • 我错了吗?

最佳答案

As Joel Spolsky says, give a programmer a REST URL, and they can start playing with the service right away, figuring it out.

如果服务有一个明确指定的、机器可读的契约,那么程序员就不必浪费任何时间来弄清楚它。

(并不是说 WSDL/SOAP 一定是良好指定契约的良好实现的示例,但这就是 WSDL 的要点)

最初,SOAP 是一个简单的协议(protocol),它允许您向消息添加 header ,并具有对象实例到 XML 结构的标准化映射。将处理元数据放在消息中简化了客户端代码,并且意味着您可以非常简单地保留消息并将消息排队。

当我在 2001 年构建 SOAP 服务时,我从来不需要 header 处理细节。这是 WSDL 之前的情况,然后使用 GET 来获取信息和查询是很正常的(与大多数声称是 REST 的应用程序没有什么不同; REST 在使用超链接进行服务发现和使用 SOAP 负载执行操作的 POST 方面有更多的功能。创建资源的操作会将创建的资源的 URL 返回给客户端,然后客户端可以获取该资源。我认为 WSDL 使得人们很容易只考虑 RPC 而不是创建资源的操作,这使得 SOAP 失去了意义。

关于rest - SOAP——有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/686634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com