日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

從RPC到HTTP:網絡通信協議的演變

來源: 責編: 時間:2024-04-26 17:34:25 194觀看
導讀前言隨著信息技術的飛速發展,網絡通信協議在構建分布式系統和應用程序中發揮著至關重要的作用。從早期的遠程過程調用(RPC)到現代的超文本傳輸協議(HTTP),網絡通信協議經歷了顯著的演變。在剛開始C/S架構流行時,對于C/S架構

前言

隨著信息技術的飛速發展,網絡通信協議在構建分布式系統和應用程序中發揮著至關重要的作用。從早期的遠程過程調用(RPC)到現代的超文本傳輸協議(HTTP),網絡通信協議經歷了顯著的演變。ShL28資訊網——每日最新資訊28at.com

在剛開始C/S架構流行時,對于C/S架構下的軟件,如聊天軟件、辦公軟件等,它們只需要與自己公司的服務器通信,所以可以使用自家定制的RPC協議進行遠程調用即可。但隨著萬維網與B/S架構的出現,瀏覽器產生了,而瀏覽器需要訪問來自不同公司的很多網站,這不能通過RPC進行訪問,所以需要一個統一的標準來與這些網站服務器通信。ShL28資訊網——每日最新資訊28at.com

這時HTTP協議發揮作用的地方,HTTP為B/S架構(瀏覽器/服務器架構)提供了一個統一的標準,讓不同網站的服務器能夠與瀏覽器交互,HTTP也是RPC的一種實現方式。ShL28資訊網——每日最新資訊28at.com

圖片圖片ShL28資訊網——每日最新資訊28at.com

建立Socket連接至少需要一對套接字,其中一個運行于客戶端,稱為ClientSocket ,另一個運行于服務器端,稱為ServerSocket ,套接字之間的連接過程分為三個步驟:服務器監聽,客戶端請求,連接確認。ShL28資訊網——每日最新資訊28at.com

圖片圖片ShL28資訊網——每日最新資訊28at.com

在Web應用中,瀏覽器請求一個URL,服務器就把生成的HTML網頁發送給瀏覽器,而瀏覽器和服務器之間的傳輸協議是HTTP。ShL28資訊網——每日最新資訊28at.com

介紹

圖片圖片ShL28資訊網——每日最新資訊28at.com

RPC

RPC(Remote Procedure Call:遠程過程調用):是一種進程間通信方式,是一種技術的思想,而不是規范。它允許程序調用另一個地址空間(通常是共享網絡的另一臺機器上)的過程或函數,而不用程序員顯式編碼這個遠程調用的細節。即程序員無論是調用本地的還是遠程的函數,本質上編寫的調用代碼基本相同。ShL28資訊網——每日最新資訊28at.com

RPC基于TCP協議,客服端與服務端需要進行三次握手完成可靠連接,第四步進行數據傳輸。因為TCP是數據傳輸層,傳輸協議需要服務器統一編寫,進行二進制傳輸,依賴序列化和反序列化規則,對于大部分應用需要靈活變動數據則不適用,RPC常用于Socket連接或一些基本不變動的傳輸格式數據,減少數據變動帶來的開發成本。ShL28資訊網——每日最新資訊28at.com

比如說現在有兩臺服務器A和B,一個應用部署在A服務器上,另一個應用部署在B服務器上,如果A應用想要調用B應用提供的方法,由于他們不在一臺機器下,也就是說它們不在一個JVM內存空間中,是無法直接調用的,需要通過網絡進行調用,那這個調用過程就叫做RPC。ShL28資訊網——每日最新資訊28at.com

  • 由于HTTP在應用層中完成,整個通信的代價較高,遠程過程調用中直接基于TCP進行遠程調用,數據傳輸在傳輸層TCP層完成,更適合對效率要求比較高的場景,RPC主要依賴于客戶端和服務端之間建立Socket鏈接進行,底層實現比REST更復雜。
  • 無論是何種類型的數據,最終都需要序列化轉換成二進制流在網絡上進行傳輸,數據的發送方需要將對象序列化轉換為二進制流,而數據的接收方則需要把二進制流反序列化為對象.

HTTP

HTTP(Hypertext Transfer Protocol:超文本傳輸協議):是互聯網上應用最為廣泛的一種應用層協議,主要用于分布式、協作式和超媒體信息系統的應用,如萬維網(WWW),客戶端發起請求,服務器處理請求并返回響應,通常用于web瀏覽器和web服務器間的通信,HTTP定義了請求報文和響應報文的結構以及不同的請求方法(GET, POST等)ShL28資訊網——每日最新資訊28at.com

圖片圖片ShL28資訊網——每日最新資訊28at.com

補充

HTTPS存在不同于HTTP的默認端口及一個加密/身份驗證層(在HTTP與TCP之間)ShL28資訊網——每日最新資訊28at.com

圖片圖片ShL28資訊網——每日最新資訊28at.com


ShL28資訊網——每日最新資訊28at.com

gRPC是Google發布的基于HTTP 2.0傳輸層協議承載的高性能開源軟件框架,提供了支持多種編程語言的、對網絡設備進行配置和納管的方法。

圖片圖片ShL28資訊網——每日最新資訊28at.com

ShL28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-85871-0.html從RPC到HTTP:網絡通信協議的演變

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Nginx負載均衡算法選擇指南:優化性能的智慧

下一篇: Go語言是 如何實現 HTTP代理 和 反向代理

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 本溪市| 东乌珠穆沁旗| 教育| 神木县| 潞城市| 黄冈市| 资源县| 桐梓县| 丹阳市| 北票市| 武宁县| 鄄城县| 屯门区| 全椒县| 会宁县| 兖州市| 班戈县| 马公市| 松溪县| 洱源县| 四平市| 公主岭市| 南安市| 巫山县| 周至县| 凤庆县| 通渭县| 红原县| 林周县| 正阳县| 廉江市| 嘉祥县| 三都| 丘北县| 洞头县| 合阳县| 浦北县| 买车| 合川市| 洮南市| 普格县|