HTTP 与 RemoteProcedureCalls

HTTP vs RemoteProcedureCalls

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

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

但它们很相似,对吧?当您 Post 某物或获取某物 (HTTP) 时,服务器也只是对您发送给它的数据执行功能。

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

那么它们的区别在哪里呢?

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

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

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