RPC与HTTP的区别

 参考:HTTP和RPC的区别_rpc调用和http调用的区别-CSDN博客


百度安全验证icon-default.png?t=N7T8https://baijiahao.baidu.com/s?id=1761484023754288976&wfr=spider&for=pc

RPC则是一种通用的远程调用协议,它被用于在不同的计算机之间执行远程方法调用。RPC协议的主要目的是允许一个程序调用远程服务器上的函数或方法,就好像这些函数或方法是本地的一样。

HTTP是一种应用层协议,它主要用于在Web服务器和客户端之间传输HTML页面和其他Web资源。HTTP是一个请求-响应协议,它定义了客户端如何发送请求以及服务器如何响应请求。

  • 通信模式

HTTP是一种无状态协议,它使用请求-响应模式进行通信。每次客户端发送请求时,服务器都会对其进行处理并返回响应,但这两个请求之间没有直接联系。这意味着在HTTP中,客户端和服务器之间的通信是不可靠的,需要使用其他机制来确保数据的完整性和一致性。

RPC通信则可以是有状态的,它使用类似本地方法调用的方式进行通信。客户端通过调用远程服务器上的方法来发送请求,服务器对该请求进行处理并返回响应。在整个过程中,客户端和服务器之间建立了一条持久的连接,这使得通信更加可靠。

  •  数据传输格式

HTTP通常使用JSON或XML等文本格式来传输数据。这些格式具有良好的可读性和可扩展性,但是它们比二进制数据传输更慢,并且需要更多的网络带宽。

RPC则可以使用二进制协议来传输数据,例如Google开发的Protobuf(Protocol Buffers)和Apache Thrift等。这些协议具有更高的效率和更小的数据传输量,但它们的可读性和可扩展性较差。

  • 应用场景

HTTP主要应用于Web应用程序,例如Web服务和浏览器。它可以使用各种语言和框架来开发和使用,因此它非常适合开发基于Web的应用程序。

RPC则主要用于分布式系统和互联网应用程序中。由于它具有高效、可靠、可扩展等特性,因此它被广泛应用于云计算、大数据等领域。

  • 性能比较

由于HTTP是一种文本协议,它的性能相对较低,因为需要解析请求和响应头,并且文本格式的数据传输需要更多的带宽。而RPC协议使用二进制协议传输数据,因此具有更高的效率和更小的数据传输量。另外,在RPC中,通常会使用长连接,避免每次请求都建立新连接,这也有助于提高性能。

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值