http通訊和tcp通訊都包括連線建立的過程
連線的建立——都是通過申請套接字來建立的(可以這麼說,ftp tcp http 這三者均是利用socket套接字進行通訊的)
tcp通訊,建立了連線(程式上是呼叫winsockapi,即通過申請套接字來建立,作業系統內部實際是通過三次握手來實現的),即可直接進行通訊了,這裡的「直接」,是指客戶端可以直接收訊息,即無需客戶端發出請求,可由服務端直接向客戶端傳遞訊息
當然,也可以由客戶端傳送請求訊息,伺服器應答的方式來通訊。而這個過程中,客戶請
求訊息的內容,僅僅包含請求正文,直接傳送
http通訊,建立了連線(同tcp的建立連線過程),之後,必須由客戶端向伺服器端傳送訊息請求,伺服器回應了該訊息,客戶端才可以收到訊息。而且,請求訊息和應答訊息都不僅僅包含請求正文和應答正文,而且,還需要附加各種其他資訊,(這是http協議規定的)
http通訊機制是在一次完整的http通訊過程中,web瀏覽器與web伺服器之間將完成下列7個步驟:
(1) 建立tcp連線
(2) 客戶端向伺服器傳送請求:
請求命令、頭資訊
後面如果有請求正文,則請求命令、頭資訊 、空行、請求正文
(3) 伺服器傳送應答
應答回應、應答頭資訊、應答正文
(4) 關閉tcp連線
一般情況下,一旦web伺服器向瀏覽器傳送了請求資料,它就要關閉tcp連線,然後如果瀏覽器或者伺服器在其頭資訊加入了這行**
connection:keep-alive
tcp連線在傳送後將仍然保持開啟狀態,於是,瀏覽器可以繼續通過相同的連線傳送請求。保持連線節省了為每個請求建立新連線所需的時間,還節約了網路頻寬。
HTTP通訊原理和HTTPS通訊原理
本博主參加位元組跳動第一次面試的時候,發現自己對於網路協議這方面欠缺很嚴重,並且在資訊保安課程中學到了部分數字證書的概念,故特意整理部落格以加強自己對於部分協議體系的理解。http 協議 hypertext transfer protocol,超文字傳輸協議 是客戶端瀏覽器或其他程式與web伺服器之...
TCP通訊與UDP通訊
c s模型 udp 輸層主要應用的協議模型有兩種,一種是tcp協議,另外一種則是udp協議。tcp協議在網路通訊中佔主導地位,絕大多數的網路通訊借助tcp協議完成資料傳輸。但udp也是網路通訊中不可或缺的重要通訊手段。相較於tcp而言,udp通訊的形式更像是發簡訊。不需要在資料傳輸之前建立 維護連線...
python socket和簡單tcp通訊實現
python 服務端和客戶端的簡單互動 tcp服務端 1 建立套接字,繫結套接字到本地ip與埠 s socket.socket socket.af inet,socket.sock stream s.bind 2 開始監聽連線 s.listen 3 進入迴圈,不斷接受客戶端的連線請求 s.accep...