7

RPC协议TCP用作底层协议,并HTTP再次TCP用作底层协议。那么为什么 HTTP 被广泛接受呢?

为什么SOAP使用HTTP作为底层协议 - 为什么不RPC呢?

4

2 回答 2

5

远程过程调用 (RPC) 不是协议,它是 SOAP 中也使用的原则。

SOAP 是一种使用 HTTP 进行传输的应用程序协议(因此它不必考虑编码、消息边界等)。使用 SOAP over HTTP 的原因之一是,对于 HTTP,您通常不需要防火墙规则,而且 HTTP 基础结构已经成熟并且经常推出。

于 2013-08-21T10:12:11.400 回答
3

RPC 不需要 HTTP。基本上,RPC 描述了适合远程调用某些代码的任何机制。用于执行 RPC 的传输机制可以是 SOAP over HTTP。它也可以是通过 HTTP 返回一些 JSON 数据的 REST 调用。

SOAP 也可以通过邮件使用,AFAIK(这里不确定)BizTalk Server 应该支持这种情况。但即使是像尝试 SOAP over Avian Carriers这样的奇特事物也可以被视为 RPC,尽管后者的延迟可能不足以满足实际应用程序的需求。

将 RPC 视为以某种方式向目的地发送某种消息,以启动特定操作并(可选)在操作完成后获取一些信息。您选择哪种特定技术来传输这些消息并不重要。

于 2013-09-04T00:12:18.203 回答