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,來保持連接配接
總之,長連接配接和短連接配接采取哪一種需要具體情況具體采用,一般從資料流量大小、資料流向、并發量、實時性考慮采取何種連接配接。