果子私房笔记-http的作用和RPC


http的作用和RPC

HTTP

HTTP是一个协议,超文本传输协议,它基于TCP/IP来传输文本、图片、视频、音频等。
HTTP不提供数据包的传输功能,也就是数据包从浏览器到服务端再来回的传输和它没关系,这些是TCP/IP负责。
传输信息需要一种格式,http规定了一种通信格式,让任何服务器和客户端之间都能顺利交流,减少交互成本。http协议的格式很像我们的信封,有个固定的格式。所以其本质上就是客户端和服务端约定好的一种通信格式。

RPC

rpc 是应用层由用户自己在制定的协议

HTTP和RPC区别

HTTP指的是通信协议。
而RPC则是远程调用协议,其对应的是本地调用。
RPC的通信可以使用用HTTP协议,也可以自定义协议,是不做约束的。

那为什么要有RPC?

为什么要用RPC,直接使用WebClient HTTP调用不行么。其实RPC调用是因为服务的拆分,或者本身公司内部的多个服务之间的通信。服务的拆分独立部署,那服务间的调用就必然需要网络通信,用WebClient调用当然可行,但是比较麻烦。我们想即使服务被拆分了但是使用起来还是和之前本地调用一样方便。所以就出现了RPC框架,来屏蔽这些底层调用细节,使得我们编码上还是和之前本地调用相差不多。并且HTTP协议比较的冗余,RPC都是内部调用所以不需要太考虑通用性,只要公司内部保持格式统一即可。所以可以做各种定制化的协议来使得通信更高效。所以公司内部服务的调用一般都用RPC,而HTTP的优势在于通用,大家都认可这个协议。所以三方平台提供的接口都是通过HTTP协议调用的。所以现在知道为什么我们调用第三方都是HTTP,公司内部用RPC了吧。上面这段话看起来仿佛HTTP和RPC是对等关系,不过相信大家看了之前的解析心里应该都有数。


文章作者: xucanxx
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 xucanxx !
  目录