非Keep-Alive: 早起HTTP1.0, 瀏覽器發起http請求需要與服務器建立新的TCP連接,請求處理后連接立即關閉。
缺點:每個這樣的連接,客戶端與服務器都要分配TCP的緩沖區和變量,這給服務器帶來嚴重的負擔。
Keep-Alive: 默認持久連接;同一客戶端可以連續請求通過相同的連接進行傳送,一臺服務器多個Web頁面也可通過單個TCP連接傳送給同一個客戶端。
缺點:長時間保持TCP連接會導致系統資源被無效占用。所以,注意設置合理的keep-alive_timeout參數。
http的長連接和短連接?通過keep-alive 設置?
其實長連接和短連接是TCP傳輸層協議的概念,而不是http應用層協議的。
keep-alive 可以影響到TCP是長連接還是短連接;
短連接:非keep-alive
長連接:客戶端、服務器同事設置keep-alive 。
長連接:多用于操作頻繁, 點對點的通信, 而且客戶端連接數目較少的情況下。eg:即使通訊、網絡游戲等。
短連接: 用戶數目較多的Web網站的Http服務一般用短連接。eg:京東,淘寶這樣的大型網站,一般客戶達到千萬級甚至上億, 若采用長連接勢必會使得服務端大量的資源被無效占用,所以,一般使用的是短連接。
參考http中長/短連接講解:
https://blog.csdn.net/luzhensmart/article/details/87186401
公眾號:
技術小難
簡書
博客園 鏈接需要替換
CSDN
知乎
掘金
segmentfault
本文由mdnice多平臺發布