溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.js中RPC通信和Ajax有哪些區(qū)別

發(fā)布時間:2021-11-08 10:13:52 來源:億速云 閱讀:212 作者:iii 欄目:web開發(fā)

這篇文章主要講解了“Node.js中RPC通信和Ajax有哪些區(qū)別”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Node.js中RPC通信和Ajax有哪些區(qū)別”吧!

Node.js中RPC通信和Ajax有哪些區(qū)別

什么是RPC通信

先導語

對于后端人員來說,RPC通信是一個很熟悉的也很容易理解的東西,但是對于像我這樣的前端人員來講,對RPC就比較陌生,理解起來也相對困難一點了。對于這個問題,我們今天來嘗試下,站在前端的角度來理解下RPC通信。

RPC和Ajax

RPC和Ajax是很相像的,它們之間有很多相同點。比如說:

  • 都是兩臺計算機之間的通信

  • 都會約定數據格式

RPC和Ajax的不同點:

  • 不一定基于DNS作為尋址服務

  • 應用層協(xié)議一般不是用HTTP協(xié)議

  • 基于TCP或者UDP協(xié)議

接下來我們來一個一個說下他們之間的不同點:

1.尋址服務器的不同

Ajax使用DNS作為尋址服務器

Ajax發(fā)起請求的URL一般是這樣的,例如:HTTP://域名/路徑, 但是計算機之間的通訊依靠的是IP而不是域名,所以便需要一個尋址服務器來尋找到對應域名的IP,Ajax使用的便是DNS來作為尋址服務器。再得到IP地址之后,瀏覽器根據IP地址來找到對應的服務器,然后服務器把數據返回給瀏覽器。 如下圖的過程:

Node.js中RPC通信和Ajax有哪些區(qū)別

RPC 通過特定的服務器來做尋址服務

RPC跟Ajax的解析過程類似,但是它不是使用DNS來做尋址服務器的,而且,它是通過某個ID來尋找對應的IP的。例如:阿里的ID是使用VIP這樣類似的ID。

Node.js中RPC通信和Ajax有哪些區(qū)別

2. TCP通信方式

瀏覽器使用TCP就是遵循HTTP規(guī)范,但是RPC使用TCP就有多種方式:
1.單工通訊
2.半雙工通訊
3.雙工通訊

單工通信

單工通信就是,在客戶端和服務器端的連接中,永遠只有一方可以給另外一方發(fā)送消息

半雙工通信

半雙工通信就是:在同一時間段中,只有一方能給另外一方發(fā)送消息,只有當消息發(fā)送完畢之后,另外一方才可以發(fā)送消息。如下圖:

Node.js中RPC通信和Ajax有哪些區(qū)別

雙工通信

雙工通信就是兩方都可以隨時向對方發(fā)送消息。如下圖:

Node.js中RPC通信和Ajax有哪些區(qū)別

協(xié)議不同

Ajax是使用HTTP協(xié)議。而RPC通信則是使用二進制協(xié)議。二進制協(xié)議與HTTP協(xié)議相比主要有兩個優(yōu)勢,分別是:
1. 更小的數據包體積(二進制數據而非文本數據)
2. 更快的編解碼速度(計算機對二進制數據的編解碼速度很明顯高于對文本數據的編解碼速度?。?/strong>感謝各位的閱讀,以上就是“Node.js中RPC通信和Ajax有哪些區(qū)別”的內容了,經過本文的學習后,相信大家對Node.js中RPC通信和Ajax有哪些區(qū)別這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI