(面试题)RPC和HTTP的区别

195 阅读1分钟

这是两个维度的东西

  • RPC,叫做远程过程调用,用途是像调用本地方法一样去调用远程服务。
  • HTTP,叫做超文本传输协议,用途是网络通信的一种规定格式,比如我们说话都用中文

RPC的大致过程:

  1. 客户端发起调用,将参数序列化,通过网络发送给服务器
  2. 服务端将参数反序列化,调用本地服务获得执行结果
  3. 服务端将执行结果序列化发送给客户端
  4. 客户端反序列化执行结果

但是RPC和HTTP又存在关联:

  • RPC的网络传输具体实现可以使用HTTP,也可以使用TCP、UDP。通常使用HTTP是因为方便,但是HTTP头部有冗余信息,没有TCP和UDP效率高