如果被問到 HTTP 協議,你真的能講清楚嗎?

2022-06-22 21:36:12 字數 959 閱讀 1006

前段時間,在和許久未見的老同學聊天時,突然被問到 http 協議到底是什麼?腦海裡面第一時間想起來的就是 request 請求、response 響應之類的詞彙,但是這樣講他真的能知道是什麼嗎?我反問自己,於是找了相關的資料攻讀一番。其實,大多數程式設計師經常都是在每天努力的搬磚,我相信,很少有人認真的研究過 http 協議到底是什麼?

用官方的話來形容 http 協議又被稱之為 超文字傳輸協議,是一種用於分布式、協作式和超**資訊系統的應用層協議,它是網路互聯的基礎。我們通常知道 http 協議,說白了只是知道其如何使用在程式設計中,但其實 http 協議的底層實現極其複雜,它是通過網路七層架構或者說是網路五層架構通過一層一層的延伸到最上層的應用層協議。網路架構不是我們所研究的重點,但是起碼得知道 tcp 協議的基本原理,為什麼這裡又提到了 tcp 協議,因為 tcp 協議也是屬於應用層的一種協議,並且 http 協議就是對 tcp 協議的一種封裝。

接下來,我們看看 http 協議是怎麼工作的。乙個 http 請求在傳送到服務端之後,首先會建立乙個 tcp 的套接字連線,緊接著服務端會收到來自客戶端的請求報文、服務端對報文完成解析、就是知道這個請求想幹什麼,然後服務端將其客戶端請求所需要的的內容資訊返回給客戶端、同時也會返回 tcp 的連線狀態等資訊,客戶端拿到資訊之後進行解析,在此之前響應也已經完成、相應的連線也會得到釋放。注意:如果是對網域名稱進行請求,在 tcp 套接字建立之前還會先進行網域名稱伺服器的訪問完成網域名稱解析。

上面兩個有趣的圖反映了 http 協議大致的請求過程。

另外,http 協議是一種無狀態的協議。也就是說,http 協議自身不對請求和響應之間的通訊狀態進行儲存、不做持久化的處理,在完成了一次請求、響應操作之後會斷開連線。

你真的了解Http協議麼

網際網路就是具有通訊和線路功能而位置不同的多個計算機的一種 簡稱萬物互聯 https和http區別http協議與其說是協議 不如說是規定 通過瀏覽器和伺服器進行資料互動,進行超文字傳輸 底層就是tcp ip 所以get和post的底層也是tcp ip,也就是說,get post都是tcp鏈結。get...

如果你真的想做

如果真的大家要學到東西,就不要各自為戰,從乙個完整的專案開始,1.專案策化開始 專案的目的,使用者群,市場定位,同類產品中的定位等等,現在發展系統很多,沒有好的定位,有什麼用呀 2.需求開發 到底有那些需求,不要以為新聞發布系統就簡單,否則只是重複勞動,我認為從最最簡單的新聞系統入手,不斷完善這個提...

http返回 被斷開 HTTP協議

客戶端 請求訪問文字或影象等資源的一端 伺服器端 提供資源響應的一端 http協議能夠區分哪端是客戶端,哪端是伺服器端。兩台計算機之間使用http協議通訊時,在一條通訊線路上必定有一端時客戶端,另一端時伺服器端。http協議規定,請求從客戶端發出,最後伺服器端響應應該請求並返回。從客戶端傳送給某個h...