長連接與短連接 http://www./academy/detail/23350375
長連接與短連接的操作過程短連接的操作步驟是: 建立連接——數(shù)據(jù)傳輸——關(guān)閉連接...建立連接——數(shù)據(jù)傳輸——關(guān)閉連接 長連接的操作步驟是: 建立連接——數(shù)據(jù)傳輸...(保持連接)...數(shù)據(jù)傳輸——關(guān)閉連接 長連接與短連接的使用時機短連接多用于操作頻繁,點對點的通訊,而且連接數(shù)不能太多的情況。每個TCP連接的建立都需要三次握手,每個TCP連接的斷開要四次握手。 如果每次操作都要建立連接然后再操作的話處理速度會降低,所以每次操作后,下次操作時直接發(fā)送數(shù)據(jù)就可以了,不用再建立TCP連接。例如:數(shù)據(jù)庫的連接用長連接,如果用短連接頻繁的通信會造成socket錯誤,頻繁的socket創(chuàng)建也是對資源的浪費。 Web網(wǎng)站的http服務(wù)一般都用短連接,因為長連接對于服務(wù)器來說要耗費一定的資源。像web網(wǎng)站這么頻繁的成千上萬甚至上億客戶端的連接用短連接更省一些資源。試想如果都用長連接,而且同時用成千上萬的用戶,每個用戶都占有一個連接的話,可想而知服務(wù)器的壓力有多大。所以并發(fā)量大,但是每個用戶又不需頻繁操作的情況下需要短連接。 總之:長連接和短連接的選擇要根據(jù)需求而定。 長連接和短連接的產(chǎn)生在于client和server采取的關(guān)閉策略,具體的應(yīng)用場景采用具體的策略,沒有十全十美的選擇,只有合適的選擇。 HTTP協(xié)議長連接、短連接總結(jié)長連接與短連接的不同主要在于client和server采取的關(guān)閉策略不同。短連接在建立連接以后只進行一次數(shù)據(jù)傳輸就關(guān)閉連接,而長連接在建立連接以后會進行多次數(shù)據(jù)數(shù)據(jù)傳輸直至關(guān)閉連接(長連接中關(guān)閉連接通過Connection:closed頭部字段)。 二者關(guān)閉策略的不同,就產(chǎn)生了長連接的優(yōu)點:
二者所應(yīng)用的具體場景不同。短連接多用于操作頻繁、點對點的通訊,且連接數(shù)不能太多的情況。數(shù)據(jù)庫的連接則采用長連接。 |
|
來自: changqiong0606 > 《http》