長連線在web中的運用
如果沒有客戶端大量的訪問,可以採用html5的serversocket長連線
例如hudson 執行時會實時的返回當前執行的結果 vmstat 監控
-------------
[b]長連線 資料庫連線
短連線 http連線[/b]
[b]一、長連線與短連線:[/b]
長連線:client方與server方先建立連線,連線建立後不斷開,然後再進行報文傳送和接收。
這種方式下由於通訊連線一直存在。此種方式常用於p2p通訊。
短連線:client方與server每進行一次報文收發交易時才進行通訊連線,交易完畢後立即斷開連線。
此方式常用於一點對多點通訊。c/s通訊。
[b]二、長連線與短連線的操作過程:[/b]
短連線的操作步驟是:
建立連線——資料傳輸——關閉連線...建立連線——資料傳輸——關閉連線
長連線的操作步驟是:
建立連線——資料傳輸...(保持連線)...資料傳輸——關閉連線
[b]三、長連線與短連線的使用時機:[/b]
短連線多用於操作頻繁,點對點的通訊,而且連線數不能太多的情況。
每個tcp連線的建立都需要三次握手,每個tcp連線的斷開要四次握手。
如果每次操作都要建立連線然後再操作的話處理速度會降低,所以每次操作後,下次操作時直接傳送資料就可以了,不用再建立tcp連線。例如:資料庫的連線用長連線,如果用短連線頻繁的通訊會造成socket錯誤,頻繁的socket建立也是對資源的浪費。
短連線:web**的http服務一般都用短連線。因為長連線對於伺服器來說要耗費一定的資源。像web**這麼頻繁的成千上萬甚至上億客戶端的連線用短連線更省一些資源。試想如果都用長連線,而且同時用成千上萬的使用者,每個使用者都占有乙個連線的話,可想而知伺服器的壓力有多大。所以併發量大,但是每個使用者又不需頻繁操作的情況下需要短連線。總之:長連線和短連線的選擇要根據需求而定。
長連線和短連線的產生在於client和server採取的關閉策略,具體的應用場景採用具體的策略,沒有十全十美的選擇,只有合適的選擇。
http協議長連線、短連線總結:
長連線與短連線的不同主要在於client和server採取的關閉策略不同。短連線在建立連線以後只進行一次資料傳輸就關閉連線,而長連線在建立連線以後會進行多次資料資料傳輸直至關閉連線(長連線中關閉連線通過connection:closed頭部字段)。二者關閉策略的不同,就產生了長連線的優點:1)通過開啟、關閉更少的tcp連線,節約cpu時間和記憶體 2)通過減少tcp開啟引起的包的數目,降低網路阻塞。
二者所應用的具體場景不同。短連線多用於操作頻繁、點對點的通訊,且連線數不能太多的情況。資料庫的連線則採用長連線。
長連線 短連線
http協議的長連線和短連線,實質上是tcp協議的長連線和短連線。http屬於應用層協議,在傳輸層使用tcp協議,在網路層使用ip協議。ip協議主要解決網路路由和定址問題,tcp協議主要解決如何在ip層之上可靠的傳遞資料報。http是乙個無狀態的面向連線的協議,無狀態不代表http不能保持tcp連線...
長連線 短連線
參考鏈結 怎麼理解tcp的面向連線和udp的無連線 不面向連線 長連線的幾種實現方式 關於長連線和短連線的理解及使用場景 連線其實只是雙方都維護了乙個狀態,通過每一次通訊來維護狀態的變更 在 http 1.0 中 在 http 1.1 中則 可以在一次連線中處理多個請求,並且多個請求可以重疊進行,不...
Http 長連線 短連線 長輪詢 短輪詢
短連線 每次http請求都會建立tcp連線,管理容易 長連線 只需要建立一次tcp連線,以後http請求重複使用同乙個tcp連線,管理難 http1.1規定了預設保持長連線 http persistent connection 也有翻譯為持久連線 資料傳輸完成了保持tcp連線不斷開 不發rst包 不...