• 技术文章 >web前端 >js教程

    Node.js中什么是RPC通信?和Ajax有啥区别?

    青灯夜游青灯夜游2021-11-08 09:56:34转载54
    本篇文章带大家了解一下RPC通信,介绍一下RPC和Ajax的相同点和不同点,希望对大家有所帮助!

    什么是RPC通信

    先导语

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

    RPC和Ajax

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

    RPC和Ajax的不同点:

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

    1.寻址服务器的不同

    Ajax使用DNS作为寻址服务器

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

    1.png

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

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

    2.png

    2. TCP通信方式

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

    单工通信

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

    半双工通信

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

    3.png

    双工通信

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

    4.png

    协议不同

    Ajax是使用HTTP协议。而RPC通信则是使用二进制协议。二进制协议与HTTP协议相比主要有两个优势,分别是:
    1. 更小的数据包体积(二进制数据而非文本数据)
    2. 更快的编解码速度(计算机对二进制数据的编解码速度很明显高于对文本数据的编解码速度!)

    结束语

    今天,我们根据对比Ajax和RPC的相同点与不同点来了解了什么是RPC通信。下一次,我们将通过学习NodejS的buffer编解码二进制数据来进一步学习RPC。那么,下次见。好好学习,天天向上!

    5.png

    更多编程相关知识,请访问:编程视频!!

    以上就是Node.js中什么是RPC通信?和Ajax有啥区别?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:掘金社区,如有侵犯,请联系admin@php.cn删除
    专题推荐:Node.js RPC通信
    上一篇:怎么检查nodejs是否安装成功 下一篇:JavaScript怎么改变元素属性
    大前端线上培训班

    相关文章推荐

    • 认识Node.js,聊聊node的模块化• 深入解析Node.js中的非阻塞I/O• 快速带你搭建并配置好Node.js环境• 一文聊聊Node.js中的event-loop机制• 怎么检查nodejs是否安装成功

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网