Http 和TCP的關係,TCP長連線和短連線有什麼區別?

weixin_34162629發表於2016-12-25
HTTP 協議即超文字傳送協議(Hypertext Transfer Protocol ),是Web聯網的基礎,也是手機聯網常用的協議之一,HTTP協議是建立在TCP協議之上的一種應用。由於HTTP在每次請求結束後都會主動釋放連線, 因此HTTP連線是一種“短連線”,要保持客戶端程式的線上狀態,需要不斷地向伺服器發起連線請求。HTTP 是應用層協議,TCP 是傳輸層協議(位於應用層之下)。

一、長連線與短連線:

長連線:client方與server方先建立連線,連線建立後不斷開,然後再進行報文傳送和接收。這種方式下由於通訊連線一直存在。此種方式常用於P2P通訊。
短連線:Client方與server每進行一次報文收發交易時才進行通訊連線,交易完畢後立即斷開連線。此方式常用於一點對多點通訊。C/S通訊。

二、長連線與短連線的操作過程:

短連線的操作步驟是:建立連線——資料傳輸——關閉連線...建立連線——資料傳輸——關閉連線;
長連線的操作步驟是:建立連線——資料傳輸...(保持連線)...資料傳輸——關閉連線

三、長連線與短連線的使用時機:

長 連線多用於操作頻繁,點對點的通訊,而且連線數不能太多的情況。每個TCP連線的建立都需要三次握手,每個TCP連線的斷開要四次握手。如果每次操作都要 建立連線然後再操作的話處理速度會降低,所以每次操作下次操作時直接傳送資料就可以了,不用再建立TCP連線。例如:資料庫的連線用長連線,如果用短連線 頻繁的通訊會造成socket錯誤,頻繁的socket建立也是對資源的浪費。
短 連線:web網站的http服務一般都用短連線。因為長連線對於伺服器來說要耗費一定的資源。像web網站這麼頻繁的成千上萬甚至上億客戶端的連線用短連 接更省一些資源。試想如果都用長連線,而且同時用成千上萬的使用者,每個使用者都佔有一個連線的話,可想而知伺服器的壓力有多大。所以併發量大,但是每個使用者 又不需頻繁操作的情況下需要短連線。
總之:長連線和短連線的選擇要視需求而定。

Http 和TCP的關係,TCP長連線和短連線有什麼區別?

標籤:tcp   http   長連線   短連結   網路   

原文:http://blog.csdn.net/ucan23/article/details/45786849

相關文章