最新都有,客戶端與服務器之間資料的發送和回傳的程序當中需要創建一個叫TCP connection的東西;
由于TCP不存在連接的概念,只存在請求和回應,請求和回應都是資料包,它們之間都是經過由TCP創建的一個從客戶端發起,服務器接收的類似連接的通道,這個連接可以一直保持,http請求是在這個連接的基礎上發送的;
在一個TCP連接上是可以發送多個http請求的,不同的版本這個模式不一樣。
在HTTP/1.0中這個TCP連接是在http請求創建的時候同步創建的,http請求發送到服務器端,服務器端回應了之后,這個TCP連接就關閉了;
HTTP/1.1中可以以某種方式宣告這個連接一直保持,一個請求傳輸完之后,另一個請求可以接著傳輸。這樣的好處是:在創建一個TCP連接的程序中需要“三次握手”的消耗,“三次握手”代表有三次網路傳輸。
如果TCP連接保持,第二個請求發送就沒有這“三次握手”的消耗。HTTP/2中同一個TCP連接里還可以并發地傳輸http請求。
二、TCP報文格式簡介
其中比較重要的欄位有:
(1)序號(sequence number):Seq序號,占32位,用來標識從TCP源端向目的端發送的位元組流,發起方發送資料時對此進行標記。
(2)確認號(acknowledgement number):Ack序號,占32位,只有ACK標志位為1時,確認序號欄位才有效,Ack=Seq+1。
(3)標志位(Flags):共6個,即URG、ACK、PSH、RST、SYN、FIN等,具體含義如下:
URG:緊急指標(urgent pointer)有效。
ACK:確認序號有效。
PSH:接收方應該盡快將這個報文交給應用層。
RST:重置連接。
SYN:發起一個新連接。
FIN:釋放一個連接。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/131154.html
標籤:Flash流媒體開發
