当前位置: 首页 > 知识库问答 >
问题:

为什么谷歌在REST有以下优点的情况下仍然大量使用SOAP?

邢博涛
2023-03-14

为什么谷歌在REST中使用了大量的SOAP,尽管它有以下优点。

  1. REST是一种架构风格。
  2. REST代表表示状态转移。
  3. REST可以使用SOAP web服务,因为它是一个概念,可以使用任何协议,如HTTP、SOAP。
  4. REST使用URI公开业务逻辑。REST使用(通常)URI和(GET,PUT,POST,DELETE)这样的方法来公开资源。JAX-RS是用于RESTful web服务的java API。
  5. REST没有定义过多的标准,如SOAP。
  6. REST比SOAP需要更少的带宽和资源。
  7. RESTful web服务从基础传输继承安全措施。
  8. REST允许不同的数据格式,如纯文本、HTML、XML、JSON等。
  9. REST比SOAP更受欢迎。
  10. REST是一种体系结构风格,与SOAP不同,SOAP是一种标准化协议。
  11. REST遵循无状态模型
  12. REST具有更好的性能和可伸缩性。可以缓存REST读取。JSON通常更适合数据,解析速度也快得多,这是JSON模式没有公认的标准。

肥皂

  1. SOAP是一种协议。
  2. SOAP代表简单对象访问协议。
  3. SOAP不能使用REST,因为它是一种协议。
  4. SOAP使用服务接口来公开业务逻辑。JAX-WS是SOAP web服务的java API。
  5. SOAP定义了要严格遵守的标准。
  6. SOAP比REST需要更多的带宽和资源。
  7. SOAP定义自己的安全性。
  8. SOAP仅允许XML数据格式。
  9. SOAP不如REST更受欢迎。
  10. SOAP实际上与底层传输协议无关,可以通过几乎任何协议(如HTTP、SMTP、TCP或JMS)发送。
  11. SOAP具有标准规范
  12. SOAP也有状态实现的规范。
  13. 无法缓存基于SOAP的读取。
  14. 编组成本较高,但XML的核心优势之一是互操作性。对于XML,模式允许良好定义消息格式。XML下的数据类型和控制也要丰富得多。

共有1个答案

金晨
2023-03-14

Steve Francia在这个主题上有一篇很棒的比较文章,尽管我印象中(Steve提到)Google已经从SOAP转向了REST。我很好奇你是不是在问一个具体的API?那么也许我可以就该API提出一个更具体的答案。

然而,总体而言,虽然REST在几乎所有方面都是优越的,但以下是您使用SOAP的原因:

>

  • Web服务安全性-除了SSL之外,SOAP还支持WS-Security,SSL通过中介添加了一些企业安全特性和身份,而不仅仅是点对点(SSL)。它还提供了数据完整性和数据隐私的标准实现。

    Web服务原子事务-WS-AtomicTransaction是必要的,如果您需要符合ACID的事务(尽管可能不是Google使用它的原因)。

    Web服务可靠消息传递--SOAP通过WS-ReliableMessaging提供标准消息传递,支持内置的成功/重试逻辑,甚至通过SOAP中介提供端到端的可靠性。

  •  类似资料:
    • 大家能不能结合自己的项目大小,说明一下。 哨兵+主从模式,会在多大数据量情况下出现性能瓶颈?

    • 请问我们在使用类型注释的时候,何时使用type class名,何时使用class名呢? 我经过如下实验: 比如以上,是否是返回类型为class名称的时候,使用 typeof class名,返回类对象的时候,使用class名?

    • 本文向大家介绍在什么情况下选择webpack?在什么情况下选择rollup?相关面试题,主要包含被问及在什么情况下选择webpack?在什么情况下选择rollup?时的应答技巧和注意事项,需要的朋友参考一下 非要一句话区分的话 如果是用,如果是用其实界限并不是特别明显。在某些特殊情况下可以互用

    • 问题内容: 说我有一个清单。在什么情况下被称为? 我基本上理解了文档,但是我也想看到一个示例来毫无疑问地阐明其用法。 问题答案: 当Python尝试将两个对象相乘时,它首先尝试调用左侧对象的方法。如果左对象没有方法(或者该方法返回,表明它不适用于所讨论的右操作数),则Python希望知道右对象是否可以进行乘法。如果右操作数与左操作数的类型相同,Python就会知道它不能,因为如果左对象不能做到这一

    • 这款设备运行的是Android4.2.2系统,谷歌官方GCM文档显示: 运行Android4.0.4或更高版本的设备不需要谷歌帐户。 但是这些文档与使用的新版GCM相关(对我来说不是一个选项) 基本上,我的问题是: 有没有可能使GCM在没有Google帐户的情况下工作, 使用旧的、不推荐使用的GCM帮助程序库? 注意:我不能在设备上创建Google帐户(这是一个要求) 如果这是不可能的,那么请建议

    • 本文向大家介绍请问在什么情况下回使用assert?相关面试题,主要包含被问及请问在什么情况下回使用assert?时的应答技巧和注意事项,需要的朋友参考一下 考察点:JAVA 调试 assertion (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个 boolean表达式进行检查,一个正确程序必须保证这个boolea