connection: close http heade這句話的含義是表明當前正在使用的tcp鏈結在當前請求處理完畢後會被斷掉。
在http1.0協議中每次請求和響應都會建立乙個新的tcp連線,http1.1之後才開始支援可以重用第一次請求的http連線,
預設支援長連線形式。
如果client或server端不想支援長連線,則需要在http的header加上connection:close.長連線的優點是新的請求可以在
上次請求建立的tcp連線之上傳送,連線可以復用。優點是減少重複進行tcp三次握手的開銷,提高效率。
所以如果vtp請求響應裡有connection: close,不會影響下一次請求,只是下一次請求會建立乙個新的tcp連線,之前的tcp連線不能復用。
下才能繼續傳送請求.如果是這樣的話那也是不正常的。
至於vtp這邊為什麼有的響應裡會加上connection: close,懷疑跟tomcat長連線機制有關,tomcat中有個 maxkeepaliverequests屬性.預設值是
100,該屬性表示當同乙個連線的請求達到maxkeepaliverequests的值時會自動斷開這個連線.
需要考慮的是http長連線會加大服務端的壓力。如果請求的客戶比較多的話,可能會耗盡服務端的連線數。
HTTP長連線和WebSocket長連線的區別
要理解http長連線和websocket長連線的區別,首先要理解一下什麼是http的長連線和短連線。首先需要消除乙個誤解 http協議是基於請求 響應模式的,因此客戶端請求後只要服務端給了響應,本次http請求就結束了,沒有長連線這一說。那麼自然也就沒有短連線這一說了。所謂的http分為長連線和短連...
http 長連線 短連線
http短連線 非持久連線 是指,客戶端和服務端進行一次http請求 響應之後,就關閉連線。所以,下一次的http請求 響應操作就需要重新建立連線。http長連線 持久連線 是指,客戶端和服務端建立一次連線之後,可以在這條連線上進行多次請求 響應操作。持久連線可以設定過期時間,也可以不設定。http...
Http長連線配置
客戶端與nginx的長連線 keepalive timeout 客戶端與nginx之間的長連線超時設定,當乙個連線的最後一次資料傳輸至今超過了這個時間,那麼當前連線就會被服務端主動關閉。預設值60s,因此客戶端與nginx預設是長連線的。keepalive requests 也是客戶端與nginx的...