Http 和TCP的關系,TCP長連接和短連接有什么區別?


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM