【问题标题】:Can anyone tell the difference between SOAP and REST?谁能说出 SOAP 和 REST 之间的区别?
【发布时间】:2012-06-27 07:20:39
【问题描述】:

我有 Web 服务 URL、登录名和密码,但我不明白这是 SOAP 还是 REST 服务。

我知道 SOAP 是一种协议,而 REST 只是一种架构,但我无法理解它们之间的机制之间的区别。

谢谢。

【问题讨论】:

  • 在发帖之前你真的没有Google这个吗?那里提供的大量答案有什么问题?您是否有无法找到答案的特定问题?如果有,请详细说明。
  • SOAP 是一种协议,而 REST 是一种方法。看看这个链接来回答你自己的问题:ajaxonomy.com/2008/xml/web-services-part-1-soap-vs-rest
  • 我要求“正常”,人性化的描述。我阅读了很多关于这个主题的帖子和信息,但实际上并没有理解它们之间的区别。
  • @ChristianVarga:我在谷歌上读到的这个问题越多,我就越想问这个问题。这有点像走到苏格拉底面前说:“嘿!每个人都知道正义是什么,所以不要再问了。”
  • @micahhoover 相同的问题导致相同的答案。如果你问一个问题而答案没有意义,那么再次问同一个问题不会导致不同的答案。这个问题之前已经回答过很多次了。如果你不明白,解释一下哪部分你不明白。使用示例、演示和场景来帮助我们了解不了解的内容。这就是一个好问题的组合方式。

标签: rest soap


【解决方案1】:

SOAP 是一组W3C specifications 用于Web 服务协议。简单来说,这些协议定义了一个用于提供和使用 Web 服务的 XML“包装器”。

REST 是一种不同的概念(如您所述); Wikipedia 将其定义为“分布式系统架构”;对于 Web 开发人员来说,这是一种配置 URI 方案以检索和更新资源的便捷方式。到 server/customers/1 的 HTTP GET 获取有关客户 1 的信息,而对同一 URI 的 HTTP PUT 更新该客户。

用通俗的话来说,REST 是一种轻量级的 SOAP 替代方案。也许您不需要 SOAP 提供的所有标头、安全性和模式;或者,您可能正在对带宽敏感的区域(例如移动网络)工作,而您不希望所有这些开销。 REST 是一种替代范式的简写方式,并且往往与 JSON 和 AJAX 等其他技术混为一谈,即使它们在技术上并不相关。

【讨论】:

    【解决方案2】:
    SOAP 与 REST SOAP 是一种协议。 REST 是一种架构风格。 SOAP 代表简单对象访问协议。 REST 代表代表性状态转移。 SOAP 不能使用 REST,因为它是一种协议。 REST 可以使用 SOAP Web 服务,因为它是一个概念,可以使用任何协议,例如 HTTP、SOAP。 SOAP 使用服务接口来公开业务逻辑。 REST 使用 URI 来公开业务逻辑。 SOAP 定义了要严格遵循的标准。 REST 没有像 SOAP 那样定义太多的标准。 SOAP 定义了自己的安全性。 RESTful Web 服务从底层传输继承安全措施。 SOAP 只允许 XML 数据格式。 REST 允许不同的数据格式,例如纯文本、HTML、XML、JSON 等。

    【讨论】:

    • 请证明 SOAP 比 REST 需要更多带宽。这是一个基于 SOAP 主要与信封交换 XML 消息的谣言。一个 REST 响应,也就是 XML 格式,应该包含大量的链接,客户端可以用来进一步驱动他们的应用程序状态。这会增大实际消息的大小。此外,像 SOAP 这样的声明不如 REST 更受欢迎,这是一种固执己见的观点。仍然有大量的 SOAP 服务,其中大多数所谓的 REST API 无论如何都是 RPC,因此不应该计入您的 REST 计数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    相关资源
    最近更新 更多