長連線和短連線

2021-07-25 08:45:04 字數 1151 閱讀 7929

tcp/ip

tcp/ip是個協議組,可分為三個層次:網路層、傳輸層和應用層。 

在網路層有ip協議、icmp協議、arp協議、rarp協議和bootp協議。 

在傳輸層中有tcp協議與udp協議。;

在應用層有:通過tcp協議來通訊的應用層協議包括ftp、http、telnet、smtp等 ;

通過udp協議來通訊的應用層協議包括dns、tftp等;

短連線

連線->傳輸資料->關閉連線 

http是無狀態的,瀏覽器和伺服器每進行一次http操作,就建立一次連線,但任務結束就中斷連線。 

也可以這樣說:短連線是指socket連線後傳送後接收完資料後馬上斷開連線。 

長連線

連線->傳輸資料->保持連線 -> 傳輸資料-> 。。。 ->關閉連線。 

長連線指建立socket連線後不管是否使用都保持連線,但安全性較差。 

http的長連線

http也可以建立長連線的,使用connection:keep-alive,http 1.1預設進行持久連線。http1.1和http1.0相比較而言,最大的區別就是增加了持久連線支援(貌似最新的 http1.0 可以顯示的指定 keep-alive),但還是無狀態的,或者說是不可以信任的。 

什麼時候用長連線,短連線?

長連線多用於操作頻繁,點對點的通訊,而且連線數不能太多情況,。每個tcp連線都需要三步握手,這需要時間,如果每個操作都是先連線,再操作的話那麼處理速度會降低很多,所以每個操作完後都不斷開,次處理時直接傳送資料報就ok了,不用建立tcp連線。例如:資料庫的連線用長連線, 如果用短連線頻繁的通訊會造成socket錯誤,而且頻繁的socket 建立也是對資源的浪費。 

而像web**的http服務一般都用短鏈結,因為長連線對於服務端來說會耗費一定的資源,而像web**這麼頻繁的成千上萬甚至上億客戶端的連線用短連線會更省一些資源,如果用長連線,而且同時有成千上萬的使用者,如果每個使用者都占用乙個連線的話,那可想而知吧。所以併發量大,但每個使用者無需頻繁操作情況下需用短連好。 

總之,長連線和短連線的選擇要視情況而定。 

長連線和短連線

短連線是指通訊雙方有資料互動時,就建立乙個tcp連線,資料傳送完成後,則斷開此tcp連線,一般銀行都使用短連線。比如http的,只是連線 請求 關閉,過程時間較短,伺服器若是一段時間內沒有收到請求即可關閉連線。其實長連線是相對於通常的短連線而說的,也就是長時間保持客戶端與服務端的連線狀態。通常的短連...

長連線和短連線

長連線是建立socket之後,一直不關閉該socket,一般是tcp協議,我們知道tcp是雙工的,能夠保證cs兩端可以互發資料。短連線建立socket之後,做一次很短的互動 只發不收,或者發了就收 之後,就關閉該socket,一般都是基於http 在tcp之上 tcp ip是傳輸層協議,主要解決資料...

長連線和短連線

長連線 長連線多用於操作頻繁,點對點的通訊,而且連線數不能太多情況。每個tcp連線都需要三步握手,這需要時間,如果每個操作都是短連線,再操作的話那麼處理速度會降低很多,所以每個操作完後都不斷開,下次處理時直接傳送資料報就ok了,不用建立tcp連線。例如 資料庫的連線用長連線,如果用短連線頻繁的通訊會...