您好,登錄后才能下訂單哦!
這篇文章主要講解了“Node.js中RPC通信和Ajax有哪些區別”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Node.js中RPC通信和Ajax有哪些區別”吧!
對于后端人員來說,RPC通信是一個很熟悉的也很容易理解的東西,但是對于像我這樣的前端人員來講,對RPC就比較陌生,理解起來也相對困難一點了。對于這個問題,我們今天來嘗試下,站在前端的角度來理解下RPC通信。
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. 更快的編解碼速度(計算機對二進制數據的編解碼速度很明顯高于對文本數據的編解碼速度!)感謝各位的閱讀,以上就是“Node.js中RPC通信和Ajax有哪些區別”的內容了,經過本文的學習后,相信大家對Node.js中RPC通信和Ajax有哪些區別這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。