HTTP 与 RemoteProcedureCalls

问题描述

我有一个关于 RPC 与 HTTP 的快速问题。

我发现,RPC 和 HTTP 之间的主要区别在于,您在服务器 (RPC) 上调用函数,而 HTTP 用于交换数据。

但它们很相似吧?当您发布内容获取内容 (HTTP) 时,服务器也只是使用您发送给它的数据执行功能

我读过,HTTP 使用 TCP 和 RPC UDP。有人可以向我解释一下吗?为什么 HTTP 需要 TCP? TCP 和 UDP 之间的区别对我来说很清楚,但是当它们实际上做同样的事情时,为什么它们都使用不同的技术?

那么它们之间的区别在哪里?

解决方法

RPC 仅表示远程过程调用,即调用远程“事物”(进程、计算机等)提供的某些功能,并可能获得返回结果。这并不意味着这些 RPC 是如何完成的特定技术。

实际上有多种技术可以做到这一点,请参阅 Wikipedia: RPC 了解更多信息。其中一些技术使用 HTTP 作为底层。有些使用 UDP,但很可能使用 TCP。

因此,基本上您是在比较“送餐”(RPC) 和“汽车”(HTTP),即可以使用汽车送餐,但并非所有汽车都能送餐,也并非所有送餐都由汽车完成。