HTTP协议和RPC协议的区别是什么

从功能层面来说,HTTP协议是一个应用层的超文本传输协议,它是万维网数据通信的一个基础,主要服务在网页端和服务端的一个数据传输上。而RPC是一个远程过程调用协议,它是定位在实现分布式应用之间的一个数据通信,屏蔽了通信的底层的复杂度,让我们开发者可以像调用本地服务一样去完成远程服务的一个调用,因此这两个协议在定位层面是完全不同的。

从实现层面来说,http协议是一个已经实现并且成熟的应用层协议,它定义了一些通信报文的格式

RPC只是一种通信协议的一个规范,并没有具体的实现,只有按照RPC通信协议规范去实现的通信框架,才是协议的真正具体的一个实现,因此我们可以在实现RPC框架的时候自定义报文通信的一个协议规范和自定义序列化的一个方式,或者自定义网络通信协议的一个类型等等。

 因此从这个层面上来说,HTTP协议是一个比较成熟的应用层协议而RPC协议定义了不同服务之间数据通信的一个规范,HTTP协议和实现了RPC协议的框架都能去实现跨网络节点的一些通信,并且他们的底层都是使用的TCP协议做为通信基础的,但是由于RPC只是一种协议框架,我们只需要符合RPC协议的框架 都属于RPC框架,因此RPC的网络通讯协议层也可以使用HTTP协议去实现,比如OpenFeign。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值