国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

網(wǎng)絡(luò)編程——RPC與HTTP基本介紹、歷史追溯、主流應(yīng)用場景、對比分析、為什么還需要使用RPC

這篇具有很好參考價(jià)值的文章主要介紹了網(wǎng)絡(luò)編程——RPC與HTTP基本介紹、歷史追溯、主流應(yīng)用場景、對比分析、為什么還需要使用RPC。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、HTTP與RPC基本介紹

  • HTTP協(xié)議(Hyper Text Transfer Protocol)超文本傳輸協(xié)議
    • 一個(gè)用于在網(wǎng)絡(luò)上交換信息的標(biāo)準(zhǔn)協(xié)議,它定義了客戶端(例如瀏覽器)和服務(wù)器之間的通信方式。如平時(shí)上網(wǎng)在瀏覽器上敲個(gè)網(wǎng)址url就能訪問網(wǎng)頁,這里用到的就是HTTP協(xié)議。
    • 明確 HTTP 是一個(gè)協(xié)議,是一個(gè)超文本傳輸協(xié)議,不是運(yùn)輸通道。它基于 TCP/IP 來傳輸文本、圖片、視頻、音頻等。HTTP 不提供數(shù)據(jù)包的傳輸功能,也就是數(shù)據(jù)包從瀏覽器到服務(wù)端再來回的傳輸和HTTP沒關(guān)系。
    • HTTP最早版本在1989年提出,經(jīng)過多年發(fā)展,到1996年發(fā)布的HTTP/1.1版本一直沿用至今,而在2015年也出現(xiàn)了HTTP/2.0。
  • RPC(Remote Procedure Call)遠(yuǎn)程過程調(diào)用
    • 能夠調(diào)用位于另一個(gè)地址空間(通常是網(wǎng)絡(luò)上的另一臺計(jì)算機(jī))中的函數(shù),而對程序員來說是透明的。僅僅是遠(yuǎn)程調(diào)用,還不算是RPC,因?yàn)镽PC強(qiáng)調(diào)的是過程調(diào)用,調(diào)用的過程對用戶而言是應(yīng)該是透明的,用戶不應(yīng)該關(guān)心調(diào)用的細(xì)節(jié),可以像調(diào)用本地服務(wù)一樣調(diào)用遠(yuǎn)程服務(wù)。所以RPC一定要對調(diào)用的過程進(jìn)行封裝。
    • 它本身并不是一個(gè)具體的協(xié)議,只是一種協(xié)議的規(guī)范,明確的說是概念、機(jī)制或者思想,它并沒有具體實(shí)現(xiàn),只有按照RPC通信協(xié)議規(guī)范實(shí)現(xiàn)的通信框架,也就是RPC框架,才是協(xié)議的具體實(shí)現(xiàn),比如Dubbo、gRPC等。它包括了:接口規(guī)范+序列化反序列化規(guī)范+通信協(xié)議等
    • RPC的概念可以追溯到1970年代,但真正流行起來是1980年代中后期,隨著分布式計(jì)算的興起。1984年發(fā)布的ONC RPC和1986年的DCE RPC是最早的RPC實(shí)現(xiàn)。
      網(wǎng)絡(luò)編程——RPC與HTTP基本介紹、歷史追溯、主流應(yīng)用場景、對比分析、為什么還需要使用RPC,# 網(wǎng)絡(luò)編程,網(wǎng)絡(luò),golang,rpc

在面試題中可能會看到為什么有了HTTP,還需要RPC,但由上述介紹可知,RPC的提出及使用時(shí)間均比HTTP要早,故首先需要思考第一個(gè)問題——為什么有RPC還要有HTTP協(xié)議?

二、為什么有了RPC,還需要HTTP

2.1 歷史追溯——B/S與C/S架構(gòu)

首先,我們需要先了解 B/S 和 C/S 指的是兩種常見的軟件架構(gòu)模型:

  1. C/S:Client/Server,即客戶端/服務(wù)器架構(gòu)。
    • 這種架構(gòu)中,客戶端和服務(wù)器是獨(dú)立的兩個(gè)程序,通過某種網(wǎng)絡(luò)協(xié)議進(jìn)行通信。
    • 客戶端需要安裝專用的軟件來訪問服務(wù)器提供的服務(wù)。服務(wù)器提供各種功能給客戶端調(diào)用。典型的 C/S 架構(gòu)應(yīng)用如QQ、迅雷、游戲客戶端等各種需要安裝對應(yīng)軟件的服務(wù)
    • C/S架構(gòu)的概念可以追溯到20世紀(jì)60年代隨著分布式計(jì)算的興起開始出現(xiàn),但真正流行開來是80年代中后期。
  2. B/S:Browser/Server,即瀏覽器/服務(wù)器架構(gòu)。
    • 這種架構(gòu)中,客戶端只需要使用 web 瀏覽器來訪問 web 服務(wù)器提供的服務(wù)。web 服務(wù)器提供 HTML、JavaScript、CSS 等頁面,瀏覽器負(fù)責(zé)展現(xiàn)。
    • 典型的 B/S 架構(gòu)應(yīng)用就是 web 應(yīng)用。用戶只需要一個(gè)瀏覽器就可以訪問服務(wù),而不需要安裝任何客戶端軟件。
    • B/S架構(gòu)是與萬維網(wǎng)、HTTP協(xié)議同時(shí)出現(xiàn)的,大約出現(xiàn)于1989年。

因此由上可知,在剛開始C/S架構(gòu)流行時(shí),對于C/S架構(gòu)下的軟件,如聊天軟件、辦公軟件等,它們只需要與自己公司的服務(wù)器通信,所以可以使用自家定制的RPC協(xié)議進(jìn)行遠(yuǎn)程調(diào)用即可。但隨著萬維網(wǎng)與B/S架構(gòu)的出現(xiàn),瀏覽器產(chǎn)生了,而瀏覽器需要訪問來自不同公司的很多網(wǎng)站,這不能通過RPC進(jìn)行訪問,所以需要一個(gè)統(tǒng)一的標(biāo)準(zhǔn)來與這些網(wǎng)站服務(wù)器通信。這就是HTTP協(xié)議發(fā)揮作用的地方。HTTP為B/S架構(gòu)(瀏覽器/服務(wù)器架構(gòu))提供了一個(gè)統(tǒng)一的標(biāo)準(zhǔn),讓不同網(wǎng)站的服務(wù)器能夠與瀏覽器交互。

2.2 RPC與HTTP主流應(yīng)用場景

由以上分析可知,在多年前,RPC與HTTP有對應(yīng)的主流應(yīng)用場景

  • RPC 更多用于 C/S 架構(gòu),即客戶端(Client)和服務(wù)器(Server)之間的通信。因?yàn)?C/S 架構(gòu)通常是 within an organization(一個(gè)組織內(nèi)部),所以可以使用自家定制的 RPC 協(xié)議來實(shí)現(xiàn)客戶端和服務(wù)器之間的通信。
  • HTTP 主要用于 B/S 架構(gòu),即瀏覽器(Browser)和服務(wù)器(Server)之間的通信。因?yàn)闉g覽器需要一個(gè)統(tǒng)一的標(biāo)準(zhǔn)來訪問不同網(wǎng)站的服務(wù)器,所以 HTTP 成為了 B/S 架構(gòu)的標(biāo)準(zhǔn)協(xié)議。而HTTP發(fā)明的場景是用于web架構(gòu),而不是分布式系統(tǒng)間通信,這導(dǎo)致了在很長一段時(shí)間內(nèi),HTTP是瀏覽器程序和后端web系統(tǒng)通信用的東西,傳輸?shù)奈臋n格式是繁瑣的HTML格式,因此沒有人把HTTP作為分布式系統(tǒng)通信的協(xié)議。

但是隨著用戶需要,許多軟件同時(shí)支持多端,現(xiàn)在情況已經(jīng)變化,B/S 架構(gòu)和 C/S 架構(gòu)在慢慢融合。越來越多的應(yīng)用同時(shí)支持 Web 端、手機(jī)端和 PC 端。

  • 隨著前端技術(shù)的發(fā)展,AJAX技術(shù)和JSON文檔在前端界逐漸成為主流,HTTP調(diào)用擺脫HTML,開始使用JSON這一相對簡潔的文檔格式。之后隨著RESTFUL思潮的興起,越來越多系統(tǒng)用HTTP來提供服務(wù)。因此為了簡化架構(gòu),現(xiàn)在很多應(yīng)用選擇使用 HTTP 作為統(tǒng)一的通信協(xié)議,來支持多端通信。這使服務(wù)器端只需要實(shí)現(xiàn)一次 HTTP 接口,就可以支持所有客戶端。
  • 而 RPC 協(xié)議則主要用于 within an organization(一個(gè)組織內(nèi)部),比如公司內(nèi)部的微服務(wù)(Microservices)之間的通信。
  • 所以總的趨勢是:HTTP 作為公用的標(biāo)準(zhǔn)協(xié)議不斷普及,而自家定制的 RPC 協(xié)議則主要用于內(nèi)部集群(Cluster)。

而由上介紹,我們可以知道HTTP既可以用于B/S端,也可以用于C/S端,那這樣為什么不全部使用HTTP協(xié)議呢,即引出了接下來的經(jīng)典面試問題——為什么有了HTTP,還需要RPC

3. 為什么有了HTTP,還需要RPC

3.1 HTTP與RPC對比分析

HTTP通常指的是HTTP1.1版本,在對HTTP1.1與RPC進(jìn)行分析時(shí),一般會從以下方面進(jìn)行分析:

特點(diǎn) HTTP 1.1 RPC
協(xié)議用途 對外的異構(gòu)環(huán)境,瀏覽器接?調(diào)?,APP接?調(diào)?,第三?接?調(diào)?等 公司內(nèi)部的服務(wù)調(diào)?,性能消耗低,傳輸效率?,服務(wù)治理
通信方式 請求-響應(yīng)模型,獨(dú)立連接 調(diào)用-返回模型,長連接
傳輸協(xié)議 通過HTTP1.1傳輸,報(bào)文體積大 自定義TCP協(xié)議傳輸,也可以基于HTTP協(xié)議
序列化 文本或二進(jìn)制 ,大多使用json ,也可以使用 protobuf 二進(jìn)制編碼 文本或二進(jìn)制
通信效率 可支持連接池復(fù)用 多次調(diào)用在同一連接中,通信效率較高
數(shù)據(jù)格式 使用通用的數(shù)據(jù)格式,如JSON、XML等 可以使用自定義的IDL來定義接口
接口定義和調(diào)用 使用URL標(biāo)識資源和進(jìn)行請求與響應(yīng) 使用接口描述語言定義接口和方法
安全性和認(rèn)證 可使用TLS/SSL 身份驗(yàn)證、加密和授權(quán)

如上所示, HTTP 1.1和RPC確實(shí)存在差異。

  • 通信方式:RPC 是長鏈接,不必每次通信都要像 HTTP 一樣去進(jìn)行 3 次握手,減少了網(wǎng)絡(luò)開銷。
  • 傳輸協(xié)議差異:HTTP 1.1使用文本協(xié)議,傳輸時(shí)必須包括報(bào)文頭部與報(bào)文體,報(bào)文頭部包含大量元數(shù)據(jù),這使得每次通信的開銷較高。相比之下,RPC可以使用自定義的傳輸協(xié)議,報(bào)文頭部較小,不需要像HTTP那樣考慮各種瀏覽器行為,如302重定向跳轉(zhuǎn),只含有必要的元數(shù)據(jù),在遠(yuǎn)程調(diào)用時(shí)減少了通信的開銷。
  • 序列化差異:HTTP 1.1常用的序列化格式是文本格式,如JSON、XML等。盡管可以使用二進(jìn)制編碼協(xié)議如Protobuf對內(nèi)容進(jìn)行編碼,但由于二進(jìn)制編碼的可讀性較差,使用較少,且在打開網(wǎng)頁時(shí)進(jìn)行序列化json等文本格式的時(shí)間也可忽略不計(jì),故通常在HTTP應(yīng)用中,文本格式更為普遍。而在RPC中,由于通常用于服務(wù)間通信如游戲服務(wù)器,性能和效率更為重要,因此更常使用二進(jìn)制編碼協(xié)議。

3.2 HTTP 2.0

隨著HTTP的發(fā)展,出現(xiàn)了HTTP 2.0和HTTP 3.0。 HTTP/2和HTTP/3在傳輸協(xié)議和性能方面都對HTTP/1.1進(jìn)行了重要改進(jìn)。它們都采用了二進(jìn)制協(xié)議格式,可以更高效地傳輸數(shù)據(jù)。同時(shí),它們都支持多路復(fù)用,可以同時(shí)在一個(gè)連接上發(fā)送多個(gè)請求和響應(yīng),減少了網(wǎng)絡(luò)延遲和資源浪費(fèi)。HTTP/2還引入了頭部壓縮技術(shù),可以減小報(bào)文頭的大小,提高傳輸效率。而HTTP/3則采用了QUIC協(xié)議和UDP傳輸,可以更快地建立連接并傳輸數(shù)據(jù),提高了實(shí)時(shí)性和可靠性。

1. 回顧 Http1.x協(xié)議 
   Http1.0協(xié)議  請求響應(yīng)的模式 短連接協(xié)議(無狀態(tài)協(xié)議)  傳輸數(shù)據(jù)文本結(jié)構(gòu)     單工 無法實(shí)現(xiàn)服務(wù)端推送 變相實(shí)現(xiàn)推動(客戶端輪訓(xùn)的方式) 
   Http1.1協(xié)議  請求響應(yīng)的模式 有限的長連接(可升級為WebSocket)  傳輸數(shù)據(jù)文本結(jié)構(gòu)  雙工 實(shí)現(xiàn)服務(wù)器向客戶端推送。
   總結(jié)Http1.x協(xié)議 共性
     1. 傳輸數(shù)據(jù)文本格式 可讀性好的但是效率差。
     2. 本質(zhì)上Http1.x協(xié)議無法實(shí)現(xiàn)雙工通信。
     3. 資源的請求。需要發(fā)送多次請求,建立多個(gè)連接才可以完成,如請求頁面需要html,js,css,則需要建立3次連接。 
2. HTTP2.0協(xié)議 
     1. Http2.0協(xié)議是一個(gè)二進(jìn)制協(xié)議,效率高于Http1.x協(xié)議,可讀性差。
     2. 可以實(shí)現(xiàn)雙工通信。
     3. 一個(gè)請求 一個(gè)連接 可以請求多個(gè)數(shù)據(jù)。【多路復(fù)用】
3. Http2.0協(xié)議的三個(gè)概念
     1. 數(shù)據(jù)流 stream
     2. 消息   message
     3. 幀    frame    參看圖
4. 其他的相關(guān)概念
     1. 數(shù)據(jù)流的優(yōu)先級,可以通過為不同的stream設(shè)置權(quán)重,來限制不同流的傳輸順序。
     2. 流控 client發(fā)送的數(shù)據(jù)太快了,server處理不過來,通知client暫停數(shù)據(jù)的發(fā)送。

網(wǎng)絡(luò)編程——RPC與HTTP基本介紹、歷史追溯、主流應(yīng)用場景、對比分析、為什么還需要使用RPC,# 網(wǎng)絡(luò)編程,網(wǎng)絡(luò),golang,rpc

總結(jié)來說,HTTP/1.1相對于RPC在傳輸協(xié)議和性能方面有一些不足,但是隨著HTTP/2和HTTP/3的出現(xiàn),HTTP協(xié)議在這些方面得到了很大的改進(jìn),使得它在某些場景下可以替代RPC來進(jìn)行高效的數(shù)據(jù)傳輸。如當(dāng)前流行的gRPC框架底層就使用HTTP2.0 協(xié)議進(jìn)行通信。

當(dāng)然2015年才出現(xiàn)HTTP 2.0,因此在2015年之前使用RPC可以從效率方面進(jìn)行考慮,但如今已經(jīng)出現(xiàn)了效率一樣的HTTP2.0,為什么還需要繼續(xù)使用RPC呢?

3.3 為什么還需要使用RPC

根據(jù)上述對比分析,可以發(fā)現(xiàn)HTTP2.0協(xié)議已經(jīng)優(yōu)化編碼效率問題,像 grpc 這種 rpc 庫使用的就是 http2.0協(xié)議,那么為什么還需要使用RPC進(jìn)行遠(yuǎn)程調(diào)用呢?
首先是歷史原因,HTTP2.0在2015年才出現(xiàn),因此許多公司內(nèi)部已經(jīng)使用了很久的PPC,更換需要很大的成本。

而之前說過,RPC并不是一個(gè)具體的協(xié)議,只是一種協(xié)議的規(guī)范,明確的說是概念、機(jī)制或者思想,它并沒有具體實(shí)現(xiàn),只有按照RPC通信協(xié)議規(guī)范實(shí)現(xiàn)的通信框架,也就是RPC框架,才是協(xié)議的具體實(shí)現(xiàn),它包括了:接口規(guī)范+序列化反序列化規(guī)范+通信協(xié)議等。現(xiàn)在狹義的RPC一般指一些用IDL(Inteface Description Language)描述接口, 然后生成stub的框架, 比如grpc,thrift,dubbo等,其中g(shù)rpc,dubbo3.0的傳輸用的都是HTTP2.0,也已經(jīng)屬于RPC和HTTP的融合體了,這種融合體的設(shè)計(jì)使得開發(fā)人員可以享受到HTTP的廣泛支持,同時(shí)獲得更好的性能和功能。

當(dāng)我們使用比較成熟的RPC庫時(shí),RPC庫通常提供了更多面向服務(wù)的高級特性,如服務(wù)發(fā)現(xiàn)、負(fù)載均衡和熔斷降級等。

  1. 服務(wù)發(fā)現(xiàn):RPC庫可以提供服務(wù)注冊和發(fā)現(xiàn)的機(jī)制,使得服務(wù)之間的通信更加靈活和可靠。通過服務(wù)發(fā)現(xiàn),服務(wù)可以自動注冊自己的地址和狀態(tài),并且客戶端可以動態(tài)地發(fā)現(xiàn)可用的服務(wù)實(shí)例。這樣,當(dāng)服務(wù)實(shí)例發(fā)生變化時(shí),客戶端可以自動適應(yīng)并調(diào)用可用的服務(wù)。

建立連接的前提是,你得知道IP地址和端口。這個(gè)找到服務(wù)對應(yīng)的IP端口的過程,其實(shí)就是服務(wù)發(fā)現(xiàn)。在HTTP中,你知道服務(wù)的域名,就可以通過DNS服務(wù)去解析得到它背后的IP地址,默認(rèn)80端口。而RPC的話,就有些區(qū)別,一般會有專門的中間服務(wù)去保存服務(wù)名和IP信息,比如consul或者etcd,甚至是redis。想要訪問某個(gè)服務(wù),就去這些中間服務(wù)去獲得IP和端口信息。由于dns也是服務(wù)發(fā)現(xiàn)的一種,所以也有基于dns去做服務(wù)發(fā)現(xiàn)的組件,比如CoreDNS。

  1. 負(fù)載均衡:RPC庫可以支持負(fù)載均衡算法,用于將請求動態(tài)地分配到不同的服務(wù)實(shí)例上。負(fù)載均衡可以根據(jù)實(shí)際情況,如服務(wù)實(shí)例的負(fù)載情況、網(wǎng)絡(luò)延遲等,來決定將請求發(fā)送到哪個(gè)服務(wù)實(shí)例上,以實(shí)現(xiàn)請求的均衡分配和提高系統(tǒng)的性能和可伸縮性。
  2. 熔斷降級:RPC庫可以實(shí)現(xiàn)熔斷降級機(jī)制,用于處理服務(wù)不可用或響應(yīng)時(shí)間過長的情況。當(dāng)某個(gè)服務(wù)出現(xiàn)故障或性能下降時(shí),熔斷降級可以自動切換到備用服務(wù)或返回默認(rèn)值,以保證系統(tǒng)的穩(wěn)定性和可用性。熔斷降級還可以防止故障的擴(kuò)散,避免整個(gè)系統(tǒng)崩潰。

總的來說,RPC框架對比HTTP協(xié)議多了更高級的封裝,它提供了服務(wù)發(fā)現(xiàn)、負(fù)載均衡和熔斷降級等面向服務(wù)的高級特性。這些特性使得RPC框架在構(gòu)建分布式微服務(wù)系統(tǒng)時(shí)更加方便和可靠,能夠提供更好的性能、可伸縮性和容錯(cuò)能力。文章來源地址http://www.zghlxwxcb.cn/news/detail-567885.html

到了這里,關(guān)于網(wǎng)絡(luò)編程——RPC與HTTP基本介紹、歷史追溯、主流應(yīng)用場景、對比分析、為什么還需要使用RPC的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 網(wǎng)絡(luò)編程 tcp udp http編程流程 網(wǎng)絡(luò)基礎(chǔ)知識

    網(wǎng)絡(luò)編程 tcp udp http編程流程 網(wǎng)絡(luò)基礎(chǔ)知識

    OSI分層:應(yīng)用層 表示層 會話層 傳輸層 網(wǎng)絡(luò)層 數(shù)據(jù)鏈路層 物理層 tcp/ip: 應(yīng)用層 傳輸層 網(wǎng)絡(luò)層 數(shù)據(jù)鏈路 ip地址:唯一標(biāo)識一臺主機(jī) ipv4 32位 ipv6 128位 尋址 可以反映物理上的一個(gè)變化 MAC地址:48 固化在計(jì)算機(jī)中 ip地址又兩部分構(gòu)成:網(wǎng)絡(luò)號+主機(jī)號 端口號:標(biāo)識一個(gè)應(yīng)用程序

    2024年02月13日
    瀏覽(38)
  • Java網(wǎng)絡(luò)編程(一)基本網(wǎng)絡(luò)概念

    Java網(wǎng)絡(luò)編程(一)基本網(wǎng)絡(luò)概念

    ????????網(wǎng)絡(luò)(network) 是幾乎可以實(shí)時(shí)相互發(fā)送和接收數(shù)據(jù)的計(jì)算機(jī)和其他設(shè)備的集合。網(wǎng)絡(luò)通常用線纜連接,數(shù)據(jù)位轉(zhuǎn)換為電磁波,通過線纜移動。不過,無線網(wǎng)絡(luò)會通過無線電波傳輸數(shù)據(jù),許多長距離的傳輸現(xiàn)在會用通過玻璃纖維發(fā)送可見光的光纖電纜來完成。傳輸數(shù)

    2024年02月16日
    瀏覽(26)
  • 【Linux網(wǎng)絡(luò)編程】HTTP協(xié)議

    【Linux網(wǎng)絡(luò)編程】HTTP協(xié)議

    喜歡的點(diǎn)贊,收藏,關(guān)注一下把! 目前基本socket寫完,一般服務(wù)器設(shè)計(jì)原則和方式(多進(jìn)程、多線程、線程池)+常見的各種場景,自定義協(xié)議+序列化和反序列化都已經(jīng)學(xué)過了。 那有沒有人已經(jīng)針對常見場景,早就已經(jīng)寫好了常見的協(xié)議軟件,供我們使用呢? 當(dāng)然了,最典型的

    2024年04月16日
    瀏覽(40)
  • 網(wǎng)絡(luò)編程 http 相關(guān)基礎(chǔ)概念

    網(wǎng)絡(luò)編程 http 相關(guān)基礎(chǔ)概念

    HTTP表單是一種用于在Web應(yīng)用程序中收集用戶輸入數(shù)據(jù)的機(jī)制。它由HTML表單元素和HTTP請求組成。 HTML表單元素(如、、等)用于創(chuàng)建用戶界面,讓用戶輸入數(shù)據(jù)。用戶可以在表單中填寫文本、選擇選項(xiàng)、上傳文件等。 當(dāng)用戶提交表單時(shí),瀏覽器會將表單數(shù)據(jù)封裝在HTTP請求中,

    2024年02月11日
    瀏覽(23)
  • linux【網(wǎng)絡(luò)編程】之HTTP協(xié)議

    linux【網(wǎng)絡(luò)編程】之HTTP協(xié)議

    在上篇文章中我們模擬了一個(gè)應(yīng)用層協(xié)議,HTTP(超文本傳輸協(xié)議)就是其中之一。http就是通過http協(xié)議從服務(wù)器上讀取對應(yīng)的“資源”,這里所說的資源是在網(wǎng)絡(luò)上看到的一切都可以看成資源文件;訪問資源就是根據(jù)路徑,從服務(wù)器磁盤上拿取資源 平時(shí)我們俗稱的 “網(wǎng)址” 其

    2024年02月07日
    瀏覽(47)
  • ?悟透Qt—Http網(wǎng)絡(luò)編程

    ?悟透Qt—Http網(wǎng)絡(luò)編程

    網(wǎng)絡(luò)訪問 API 建立在一個(gè) QNetworkAccessManager 對象之上,該對象保存了發(fā)送請求所需的公共配置和設(shè)置。它包含代理和緩存配置,以及與此類問題相關(guān)的信號和可用于監(jiān)視網(wǎng)絡(luò)操作進(jìn)度的回復(fù)信號。整個(gè) Qt 應(yīng)用程序只需要一個(gè) QNetworkAccessManager 實(shí)例。由于 QNetworkAccessManager 基于

    2024年02月11日
    瀏覽(27)
  • Python中的網(wǎng)絡(luò)編程Socket與HTTP協(xié)議的實(shí)踐【第158篇—網(wǎng)絡(luò)編程】

    Python中的網(wǎng)絡(luò)編程Socket與HTTP協(xié)議的實(shí)踐【第158篇—網(wǎng)絡(luò)編程】

    前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。【點(diǎn)擊進(jìn)入巨牛的人工智能學(xué)習(xí)網(wǎng)站】。 在當(dāng)今互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò)編程是程序員不可或缺的一項(xiàng)技能。Python作為一種高級編程語言,提供了豐富的網(wǎng)絡(luò)編程庫,使得開發(fā)者能夠輕松地

    2024年04月09日
    瀏覽(22)
  • Java網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程介紹 - 網(wǎng)絡(luò)通信三要素

    Java網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程介紹 - 網(wǎng)絡(luò)通信三要素

    什么是網(wǎng)絡(luò)編程 ? 網(wǎng)絡(luò)編程可以讓程序與網(wǎng)絡(luò)上的其他設(shè)備中的程序進(jìn)行數(shù)據(jù)交互。 網(wǎng)絡(luò)編程基本模式 : 常見的通信模式有如下2種形式:Client-Server( CS: 客戶端與服務(wù)器模式 ) 、 Browser/Server( BS: 瀏覽器與服務(wù)器模式 ) Client-Server(CS)模式 Browser/Server(BS)模式 實(shí)現(xiàn)網(wǎng)絡(luò)編程關(guān)鍵的三

    2024年02月02日
    瀏覽(36)
  • 網(wǎng)絡(luò)套接字編程(三)(HTTP)

    網(wǎng)絡(luò)套接字編程(三)(HTTP)

    gitee倉庫:https://gitee.com/WangZihao64/linux/tree/master/CalTcp 協(xié)議 是一種“約定”,這種約定是雙方都知道的。有了一致的約定,雙方才能夠正常地進(jìn)行通信。協(xié)議在網(wǎng)絡(luò)的第一篇博客中也提到過,協(xié)議是雙方進(jìn)行通信的基礎(chǔ),在網(wǎng)絡(luò)通信中存在著各種協(xié)議,有了這些協(xié)議,網(wǎng)絡(luò)的通

    2024年02月16日
    瀏覽(12)
  • Go語言的網(wǎng)絡(luò)編程與HTTP服務(wù)

    Go語言(Golang)是Google開發(fā)的一種靜態(tài)類型、垃圾回收、并發(fā)簡單的編程語言。Go語言的設(shè)計(jì)目標(biāo)是讓程序員更容易編寫并發(fā)程序,并在多核處理器上充分發(fā)揮性能。Go語言的網(wǎng)絡(luò)編程和HTTP服務(wù)是其核心功能之一,可以輕松地構(gòu)建高性能、可擴(kuò)展的網(wǎng)絡(luò)應(yīng)用程序。 在本文中,我們

    2024年02月19日
    瀏覽(99)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包