Node.js什么是RPC通信和Ajax有啥区别
什么是RPC通信
先导语
RPC和Ajax
RPC和Ajax是很相像的,它们之间有很多相同点。比如说:
-
都是两台计算机之间的通信
-
都会约定数据格式
RPC和Ajax的不同点:
-
不一定基于DNS作为寻址服务
-
应用层协议一般不是用HTTP协议
-
基于TCP或者UDP协议
接下来我们来一个一个说下他们之间的不同点:
1.寻址服务器的不同
Ajax使用DNS作为寻址服务器
Ajax发起请求的URL一般是这样的,例如:HTTP://域名/路径
, 但是计算机之间的通讯依靠的是IP而不是域名,所以便需要一个寻址服务器来寻找到对应域名的IP,Ajax使用的便是DNS来作为寻址服务器。再得到IP地址之后,浏览器根据IP地址来找到对应的服务器,然后服务器把数据返回给浏览器。 如下图的过程:
RPC 通过特定的服务器来做寻址服务
RPC跟Ajax的解析过程类似,但是它不是使用DNS来做寻址服务器的,而且,它是通过某个ID来寻找对应的IP的。例如:阿里的ID是使用VIP这样类似的ID。
2. TCP通信方式
浏览器使用TCP就是遵循HTTP规范,但是RPC使用TCP就有多种方式:
1.单工通讯
2.半双工通讯
3.双工通讯
单工通信
单工通信就是,在客户端和服务器端的连接中,永远只有一方可以给另外一方发送消息
半双工通信
半双工通信就是:在同一时间段中,只有一方能给另外一方发送消息,只有当消息发送完毕之后,另外一方才可以发送消息。如下图:
双工通信
双工通信就是两方都可以随时向对方发送消息。如下图:
协议不同
Ajax是使用HTTP协议。而RPC通信则是使用二进制协议。二进制协议与HTTP协议相比主要有两个优势,分别是:
1. 更小的数据包体积(二进制数据而非文本数据)
2. 更快的编解码速度(计算机对二进制数据的编解码速度很明显高于对文本数据的编解码速度!)
结束语
今天,我们根据对比Ajax和RPC的相同点与不同点来了解了什么是RPC通信。下一次,我们将通过学习NodejS的buffer编解码二进制数据来进一步学习RPC。那么,下次见。好好学习,天天向上!
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tangfcekc
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01