外观
HTTP 与 RPC 之间的区别
定义:
HTTP
:超文本传输协议,是用于在计算机网络之间传输超文本和其他资源的应用层协议,最初设计目的是提供一种发布和接收超文本标记语言(HTML
)页面的方法,用于Web
浏览器和Web
服务器之间的通信。RPC
:远程过程调用协议,允许一个计算机程序可以像调用本地服务一样调用远程服务,主要用于分布式系统中不同节点之间的通信。
数据传输:
- 传输格式
HTTP
:通常使用文本格式传输数据,如JSON
或XML
等,可读性强,但相对占用空间较大,传输效率稍低。RPC
:通常采用二进制序列化格式传输数据,如Protocol Buffers
、Thrift
或MessagePack
等,能更高效地序列化和反序列化数据,减少数据传输量,提高传输效率。
- 传输协议
HTTP
:基于HTTP
协议,通常使用TCP
作为传输层协议。RPC
:可以基于TCP
协议,也可以基于HTTP
协议,还可以基于UDP
协议等。