天天看點

長連接配接和短連接配接對比

1.什麼是長連接配接、短連接配接

長連接配接:就是 client 和 server 在發送資料之前先建立連接配接,完成之後才能發送資料,并且這個連結不會斷開,直到資料傳輸完成才斷開連接配接。

典型的就是點對點傳輸。

短連接配接:client和server隻有在傳輸資料的時候才會建立連接配接,本次傳輸完成後立即斷開連接配接。

典型的就是C/S。

2.長連接配接和短連接配接的操作過程

長連接配接:建立連接配接->傳輸資料->保持連接配接->傳輸資料->斷開連接配接

短連接配接:建立連接配接->傳輸資料->斷開連接配接…建立連接配接->傳輸資料->斷開連接配接

3.長連接配接和短連接配接的使用分析

長連接配接:适用于資料傳輸量大,而且連接配接數不能太多的點對點傳輸

短連接配接:适用于連接配接數太大的情況,比如http服務,因為server維持連接配接需要耗費大量的資源,當連接配接過多的時候這對server是一個很大的負擔,而且每一個http服務的用戶端都不是頻繁的需要請求資料,是以維持這個連結沒有必要。

4.TCP的長短連接配接

從TCP協定本身來講TCP是長連接配接的。

但是假如有每次建立TCP連接配接,然後隻發送一次資料,或者說隻處理一次請求,就斷開連接配接的這種需求,此時TCP是短連接配接的。

TCP長連接配接的優缺點

優點:節省了建立連接配接的三次握手和斷開連接配接的四次揮手過程

缺點:連接配接數很大時伺服器壓力較大,并發量不能太高,而且保持連接配接占用大量資源,如端口

5.http的長連接配接和短連接配接

http1.0是短連接配接的,而且不支援長連接配接

http1.1則支援長連接配接,通過設定字段Connection: keep-alive,來保持連接配接

總之,長連接配接和短連接配接采取哪一種需要具體情況具體采用,一般從資料流量大小、資料流向、并發量、實時性考慮采取何種連接配接。

繼續閱讀