RPC协议、http协议、https协议的区别

时间:2022-05-31 00:39:52

什么是RPC协议?
RPC是一种远程过程调用协议,使用这种协议向另一台计算机上的程序请求服务,不需要了解底层网络技术的协议。

在 RPC 中,发出请求的程序客户程序,而提供服务的程序服务器

HTTP是一种超文本传输协议。是WWW浏览器和WWW服务器之间的应用层通讯协议。

RPC协议与HTTP协议的区别
1、RPC是一种API,HTTP是一种无状态的网络协议。RPC可以基于HTTP协议实现,也可以直接在TCP协议上实现。

2、RPC主要是用在大型网站里面,因为大型网站里面系统繁多,业务线复杂,而且效率优势非常重要的一块,这个时候RPC的优势就比较明显了。

HTTP主要是用在中小型企业里面,业务线没那么繁多的情况下。

3、HTTP开发方便简单、直接。开发一个完善的RPC框架难度比较大。

4、HTTP发明的初衷是为了传送超文本的资源,协议设计的比较复杂,参数传递的方式效率也不高。开源的RPC框架针对远程调用协议上的效率会比HTTP快很多

5、HTTP需要事先通知,修改Nginx/HAProxy配置。RPC能做到自动通知,不影响上游。

6、HTTP大部分是通过Json来实现的,字节大小和序列化耗时都比Thrift要更消耗性能。RPC,可以基于Thrift实现高效的二进制传输