Node.js的RPC通信怎样理解,与Ajax的异同在哪
Admin 2022-05-20 群英技术资讯 346 次浏览
对于后端人员来说,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.watch的触发条件是什么?具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
React 中的事件,是对原生事件的封装,叫做合成事件。这篇文章主要通过几个简单的示例为大家详细介绍一下React中的合成事件,感兴趣的可以了解一下
这篇文章我们来了解JavaScript中箭头函数的内容,下文介绍了什么是箭头函数,箭头函数的使用及不适用的场景等等,文中介绍很详细,有需要的朋友可以参考,感兴趣的朋友接下来就跟随小编来了解看看吧!
经常浏览购物网站的朋友可能会看到这样的一个效果,就是添加商品到购物车的时候,会有抛物线这样的效果,那么这个具体是怎样做呢?接下来小编就带大家来了解一下。
这篇文章主要介绍了关于Javascript闭包与应用的详解,文中有非常详细的代码示例.对正在学习js的伙伴们有很好的帮助,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008