RPC和HTTP协议

RPC 全称(Remote Procedure Call),它是一种针对跨进程或者跨网络节点的应用之间的远程过程调用协议。

它的核心目标是,让开发人员在进行远程方法调用的时候,就像调用本地方法一样,不需要额外为了完成这个交互做过的编码。

为了达到这样一个目标,就有了这样一个 RPC 协议模型。

Client stub 作为客户端存根,代理客户端请求并把请求参数进行组装,再把组装的参 数通过 Pack 也就是序列化。 最后通过远程通信协议把序列化的数据传输到目标服务器上。 服务端收到数据以后,通过 Unpack 也就是反序列化,再通过 Server stub 服务端存根来调用目标方法获取执行结果。

所以,通过这样一个模型,就实现了 RPC 的目标,让开发者在没有任何感知的情况下实现了远程方法的调用。

而 Http 协议是为 Web 浏览器与 Web 服务器之间的通信而设计的远程通信协议,它 定义了通信协议的报文规范(如图),我们可以使用 http 协议来实现跨网络节点的数据传输。

基于这样的特点,在 RPC 协议底层的数据传输,即可以直接使用 TCP 协议,也可以使用 http 协议。 因此,Rpc 协议和 Http 协议完全不是同一个纬度的东西,这两者并没有什么可比性。

相关推荐
zt1985q6 小时前
本地部署源代码管理解决方案 Bitbucket Data Center 并实现外部访问
运维·服务器·数据库·网络协议·postgresql·源代码管理
二营长17 小时前
后端请求https协议接口地址报错
网络协议·http·https
提伯斯64610 小时前
Jetson_Pixhawk局域网UDP连接QGC
linux·网络·嵌入式硬件·网络协议·udp·jetson
hoho_1210 小时前
目标主机使用了不受支持的SSL加密算法【原理扫描】
网络·网络协议·ssl
天启HTTP11 小时前
多开账号时,如何避免网络环境暴露异常特征
网络·网络协议·tcp/ip
wapicn9911 小时前
HTTPS原理详解:从握手到证书链验证,一张SSL证书的完整生命周期
网络协议·https·ssl
bkspiderx11 小时前
HTTP协议:Web通信的“通用语言”解析
前端·网络协议·http
lunzi_082612 小时前
《图解HTTP》--第5章-与HTTP协作的Web服务器
服务器·前端·http
chushiyunen12 小时前
json-rpc笔记
笔记·rpc·json
http阿拉丁神猫13 小时前
TCP、IPv4和IPv6解读
运维·网络协议·tcp/ip