http屬於應用層協議,所謂http的長連線和短鏈結本質上說的是tcp的長連線和短連線。只有tcp連線才有真正的長連線和短連線這一說法。
所謂http/1.1起支援長連線,並不是http/1.1可以建立長連線,而是它支援以請求的方式進行連線的發起,該連線依然時基於tcp的
http/1.0預設使用短連線,客戶端每次進行一次http操作,就建立一次連線,任務結束就中斷連線。
http/1.1起預設使用長連線,響應頭中會有connection:keep-alive
字段,即當乙個網頁開啟完成之後,客戶端和伺服器之間用於傳輸http資料的tcp連線不會關閉,客戶端再次訪問此伺服器時,會繼續使用這個已經建立的連線。
指通訊雙方有資料互動時,就建立乙個tcp連線,資料互動完成後,則斷開此tcp連線。
優點:不占用伺服器資源,即用完則斷開
缺點:在多請求的情況下會頻繁建立連線(握手+揮手),導致響應變慢
指在連線發起後,在請求關閉連線前客戶端與伺服器都保持連線,實質上時保持這個通訊的通道,之後便可以對其進行復用。
長連線並不是永久連線,如果在一段時間內若還沒有http請求發出的話,那麼這個長連線就會斷開。這個時間就是超時時間,具體時間可以在header中設定keep-alive:timeout=60s
優點:可以復用tcp連線,減少了每次建立連線和斷開連線的開銷
缺點:連線數太多占用伺服器資源
長連線多用於操作頻繁的通訊,而且要滿足連線數不能太多的情況,如資料庫的連線用的長連線。
短連線一般用於像web**的http服務,因為長連線會耗費一定的伺服器資源。
參考:部分資料來自於網路
HTTP的長連線和短鏈結
這個表在說什麼?a http是應用層協議,它的長連線和短連線其實就是tcp的長連線和短連線 b http1.0和http1.1的區別是 前者預設短連線,後者缺省長連線,長連線的標識是 connection keep alive 這個抓過包的都見過吧 c tcp是傳輸層協議,作用是保證資料報可靠傳遞 ...
HTTP 長連線和短連線
1.http協議與tcp ip協議的關係 http的長連線和短連線本質上是tcp長連線和短連線。http屬於應用層協議,在傳輸層使用tcp協議,在網路層使用ip協議。ip協議主要解決網路路由和定址問題,tcp協議主要解決如何在ip層之上可靠的傳遞資料報,使在網路上的另一端收到發端發出的所有包,並且順...
HTTP的長連線與短鏈結
長連線和短連線的概念 短連線 在http 1.0 中預設的是短連線,短連線就是雙方有資料互動時,就建立乙個連線,資料傳送完畢後就斷開此連線,即每次只完成一項任務的傳送 長連線 從http 1.1 起使用的就是長連線,長連線是指在乙個連線上可以傳送多個資料報,在連線保持期間,如果沒有資料報傳送,雙方需...