http的長連線和短連線實質上是tcp長連線和短連線。http是應用層協議,在傳輸層使用tcp層,在網路層使用ip協議。ip協議主要解決網路路由和定址問題,tcp協議主要解決如何在ip層之上可靠的傳遞資料,使得網路上接收端收到傳送端所發出的所有包,並且順序傳送順序一致。tcp協議是可靠的、面向連線的。
指的是協議對於事務處理沒有任何記憶能力,伺服器不知道客戶端是什麼狀態。也就是說,開啟乙個伺服器上的網頁和上一次開啟這個伺服器上的網頁之間沒有任何聯絡。http是乙個無狀態的面向連線的協議,無狀態不代表http不能保持tcp連線,更不能代表http使用的是udp協議(無連線)。
在http/1.0中預設使用的是短連線,也就是說,客戶端和服務端每進行一次http操作,就建立一次連線,任務結束就會中斷連線。當客戶端瀏覽器訪問的某個html或其他型別的web頁中包含有其他的web資源,每遇到這樣的乙個web資源,瀏覽器就會重新建立乙個http會話。
在http/1.1起,預設使用長連線,用以保持連線特性。使用長連線的http協議,會在響應頭中加入這行**:
connection:keep-alive
長連線就是:當乙個網頁開啟完成之後,客戶端和服務端之間用於傳輸http資料的tcp連線不會關閉,客戶端再次訪問這個服務端時,會繼續使用這一條已經建立的連線。keep-alive不會永久保持連線,它有乙個保持時間,可以在不同的服務端軟體中設定這個時間。實現長連線需要客戶端和服務端都支援長連線。
長連線:
建立連線—資料傳輸…(保持連線)…資料傳輸—關閉連線
短連線:
建立連線—資料傳輸–關閉連線…建立連線—資料傳輸–關閉連線
長連線與短連線
通常短連線是這樣 連線 傳輸資料 關閉連線 那什麼是長連線?一般長連線相對短連線而言的,長連線在傳輸完數後不關閉連線,而不斷的傳送包保持連線等待處理下乙個資料報。such as 連線 傳輸資料 保持連線 傳輸資料 關閉連線。那什麼時候用短連線呢?一般長連線用於少數client end to serv...
長連線與短連線
短連線是指通訊雙方有資料互動時,就建立乙個tcp連線,資料傳送完成後,則斷開此tcp連線,一般銀行都使用短連線。比如http的,只是連線 請求 關閉,過程時間較短,伺服器若是一段時間內沒有收到請求即可關閉連線。其實長連線是相對於通常的短連線而說的,也就是長時間保持客戶端與服務端的連線狀態。通常的短連...
長連線與短連線
其實長連線是相對於通常的短連線而說的,也就是長時間保持客戶端與服務端的連線狀態。連線 資料傳輸 關閉連線 這就要求長連線在沒有資料通訊時,定時傳送資料報 心跳 以維持連線狀態,短連線在沒有資料傳輸時直接關閉就行了 長連線多用於操作頻繁,點對點的通訊,而且連線數不能太多情況,每個tcp連線都需要三步握...