Node.js的RPC通信怎样理解,与Ajax的异同在哪
Admin 2022-05-20 群英技术资讯 506 次浏览
对于后端人员来说,RPC通信是一个很熟悉的也很容易理解的东西,但是对于像我这样的前端人员来讲,对RPC就比较陌生,理解起来也相对困难一点了。对于这个问题,我们今天来尝试下,站在前端的角度来理解下RPC通信。【推荐学习:《nodejs 教程》】
RPC和Ajax是很相像的,它们之间有很多相同点。比如说:
都是两台计算机之间的通信
都会约定数据格式
RPC和Ajax的不同点:
不一定基于DNS作为寻址服务
应用层协议一般不是用HTTP协议
基于TCP或者UDP协议
接下来我们来一个一个说下他们之间的不同点:
Ajax发起请求的URL一般是这样的,例如:HTTP://域名/路径
, 但是计算机之间的通讯依靠的是IP而不是域名,所以便需要一个寻址服务器来寻找到对应域名的IP,Ajax使用的便是DNS来作为寻址服务器。再得到IP地址之后,浏览器根据IP地址来找到对应的服务器,然后服务器把数据返回给浏览器。 如下图的过程:
RPC跟Ajax的解析过程类似,但是它不是使用DNS来做寻址服务器的,而且,它是通过某个ID来寻找对应的IP的。例如:阿里的ID是使用VIP这样类似的ID。
浏览器使用TCP就是遵循HTTP规范,但是RPC使用TCP就有多种方式:
1.单工通讯
2.半双工通讯
3.双工通讯
单工通信就是,在客户端和服务器端的连接中,永远只有一方可以给另外一方发送消息
半双工通信就是:在同一时间段中,只有一方能给另外一方发送消息,只有当消息发送完毕之后,另外一方才可以发送消息。如下图:
双工通信就是两方都可以随时向对方发送消息。如下图:
Ajax是使用HTTP协议。而RPC通信则是使用二进制协议。二进制协议与HTTP协议相比主要有两个优势,分别是:
1. 更小的数据包体积(二进制数据而非文本数据)
2. 更快的编解码速度(计算机对二进制数据的编解码速度很明显高于对文本数据的编解码速度!)
今天,我们根据对比Ajax和RPC的相同点与不同点来了解了什么是RPC通信。下一次,我们将通过学习NodejS的buffer编解码二进制数据来进一步学习RPC。那么,下次见。好好学习,天天向上!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了Vue项目的优化打包,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
这篇文章给大家分享的是JavaScript反转数组的方法。下文分享了使用for循环和push()方法和reverse()方法这两种,文中的示例代码有一定的参考价值,有需要的朋友可以了解看看,接下来就跟随小编一起学习一下吧。
React是用于构建用户界面的JavaScript库, 起源于Facebook的内部项目,因为该公司对市场上所有 JavaScript MVC框架,都不满意,就决定自己写一套,用来架设Instagram的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。
这篇文章主要为大家介绍了如何编写Vue插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
本文主要给大家分享的是用vue如何实现3d标签云的内容,小编觉得比较有意思,下文有实现效果及代码供大家参考,感兴趣的朋友可以了解看看,接下来我们就一起学习一下吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008