Node.js的RPC通信怎样理解,与Ajax的异同在哪
Admin 2022-05-20 群英技术资讯 938 次浏览
这篇文章给大家分享的是“Node.js的RPC通信怎样理解,与Ajax的异同在哪”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。
对于后端人员来说,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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了JavaScript把局部变量变成全局变量的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了js fill函数填充数组或对象的问题及解决方法,本文给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
我们学习了JS 之后,能够用JS实现很多有意思的炫酷效果。这篇文章就给大家分享一个模拟电灯开关的小案例,生活中,我们用手一按就可以让电灯亮起和熄灭,下面我们来看看如何用JS实现点灯开关效果。
异步编程是指由于异步I/O等因素,无法同步获得执行结果时,在回调函数中进行下一步操作的代码编写风格,常见的如setTimeout函数、ajax请求等等。示例:for(vari=1;i<=3;i++){setTimeout(function(){console.log(i);},0);};这里大部分人会认为输出123,或者333。其实它会输出444这里就
时钟是我们查看时间的一种工具,很多人家家里都会摆放一个时钟,那么我们用代码能实现一个时钟效果吗?答案是可以用的,这篇文章主要教大家用JS代码配置CSS样式来实现一个动态的时钟效果,效果如下图所示,下面我们一起来学习下。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008