Node.js中RPC通信和Ajax有哪些区别

这篇文章主要讲解了“Node.js中RPC通信和Ajax有哪些区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js中RPC通信和Ajax有哪些区别”吧!

成都创新互联-专业网站定制、快速模板网站建设、高性价比安陆网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式安陆网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖安陆地区。费用合理售后完善,十载实体公司更值得信赖。

Node.js中RPC通信和Ajax有哪些区别

什么是RPC通信

先导语

对于后端人员来说,RPC通信是一个很熟悉的也很容易理解的东西,但是对于像我这样的前端人员来讲,对RPC就比较陌生,理解起来也相对困难一点了。对于这个问题,我们今天来尝试下,站在前端的角度来理解下RPC通信。

RPC和Ajax

RPC和Ajax是很相像的,它们之间有很多相同点。比如说:

  • 都是两台计算机之间的通信

  • 都会约定数据格式

RPC和Ajax的不同点:

  • 不一定基于DNS作为寻址服务

  • 应用层协议一般不是用HTTP协议

  • 基于TCP或者UDP协议

接下来我们来一个一个说下他们之间的不同点:

1.寻址服务器的不同

Ajax使用DNS作为寻址服务器

Ajax发起请求的URL一般是这样的,例如:HTTP://域名/路径, 但是计算机之间的通讯依靠的是IP而不是域名,所以便需要一个寻址服务器来寻找到对应域名的IP,Ajax使用的便是DNS来作为寻址服务器。再得到IP地址之后,浏览器根据IP地址来找到对应的服务器,然后服务器把数据返回给浏览器。 如下图的过程:

Node.js中RPC通信和Ajax有哪些区别

RPC 通过特定的服务器来做寻址服务

RPC跟Ajax的解析过程类似,但是它不是使用DNS来做寻址服务器的,而且,它是通过某个ID来寻找对应的IP的。例如:阿里的ID是使用VIP这样类似的ID。

Node.js中RPC通信和Ajax有哪些区别

2. TCP通信方式

浏览器使用TCP就是遵循HTTP规范,但是RPC使用TCP就有多种方式:
1.单工通讯
2.半双工通讯
3.双工通讯

单工通信

单工通信就是,在客户端和服务器端的连接中,永远只有一方可以给另外一方发送消息

半双工通信

半双工通信就是:在同一时间段中,只有一方能给另外一方发送消息,只有当消息发送完毕之后,另外一方才可以发送消息。如下图:

Node.js中RPC通信和Ajax有哪些区别

双工通信

双工通信就是两方都可以随时向对方发送消息。如下图:

Node.js中RPC通信和Ajax有哪些区别

协议不同

Ajax是使用HTTP协议。而RPC通信则是使用二进制协议。二进制协议与HTTP协议相比主要有两个优势,分别是:
1. 更小的数据包体积(二进制数据而非文本数据)
2. 更快的编解码速度(计算机对二进制数据的编解码速度很明显高于对文本数据的编解码速度!)
感谢各位的阅读,以上就是“Node.js中RPC通信和Ajax有哪些区别”的内容了,经过本文的学习后,相信大家对Node.js中RPC通信和Ajax有哪些区别这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


文章名称:Node.js中RPC通信和Ajax有哪些区别
本文路径:http://pwwzsj.com/article/pdoide.html