"SOAP requires more bandwidth and resource than REST"是什么意思?



"SOAP需要比REST更多的带宽和资源"和"REST比SOAP需要更少的带宽和资源"是什么意思?带宽和资源作者也指的是什么?

REST不是基于JSON的数据交换,而是一种将客户端与服务器分离的技术。解耦是通过利用构成消息交换的公共接口的传输协议的明确定义的操作,并依赖于描述所交换数据的语法和语义的明确定义的中间媒体类型来实现的。但是,没有迹象表明,与通过 SOAP 交换的数据相比,通过遵循 REST 模型的应用程序交换的数据需要更少的带宽(发送较小的有效载荷)。

为什么?遵循 REST 原则的服务器将包括客户端可用于执行进一步操作的更多选项,从而(可能)膨胀实际响应,并且实际上可能需要比通过 SOAP 交换的 RPC 消息更多的带宽。像你所指的作者的引用,应该特别小心地对待。除此之外,如果在 XML 表示形式中遍历有效负载,则两个应用在实际交换的语法上具有相同的开销。当然,SOAP 可能会引入 SOAP 信封,尽管这主要用于指定某些必需的功能,如事务支持等。

作者可能正在建立他的声明,很多人认为REST,但实际上只是通过HTTP和JSON有效载荷进行RPC。许多所谓的 REST API 只是基于 JSON 的 Web API,它们或多或少遵循 HTTP 操作语义,但通过向客户端发送application/json格式的专有 JSON 有效负载来指示客户端如何使用其服务。由于这种媒体类型非常通用,也不支持客户端确定有效负载的语义,因此客户端无法真正理解这种响应格式,除非知识已经编码到客户端中,因此将其与 API 本身紧密耦合,如果服务器决定返回略有不同的表示形式(由于更新等),则可能会中断。这种表示通常是为 API 量身定制的,不包含额外的 URI 或有关进一步操作的提示,因为知识已经内置到客户端中(类似于 SOAP RPC)。

我希望你能看到,如果你将REST(真正意义上的)与SOAP消息有效负载大小进行比较,应该谨慎对待这样的陈述。为客户端提供所有可能选项的服务器,以便它可以决定可以执行的操作,对于可能的选项来说可能相当健谈。

SOAP 需要更多的网络带宽和资源。 最重要的原因之一是较高的开销(SOAP:XML 序列化)

相关内容

最新更新