生活随笔
收集整理的這篇文章主要介紹了
http keepalive原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、背景
? ? KeepAlive是就是通常所稱的長連接。KeepAlive帶來的好處是可以減少tcp連接的開銷,這對于短response body的請求效果更加明顯。同時,可以為采用HTTP協議的交互式應用提供良好的session支持。
2、KeepAlive的原理
? ? 在HTTP1.0和HTTP1.1協議中都有對KeepAlive的支持。其中HTTP1.0需要在request中增加"Connection: keep-alive" header才能夠支持,而HTTP1.1默認支持。
2.1 HTTP1.0 KeepAlive支持的數據交互流程如下:
? ? a)Client發出request,其中該request的HTTP版本號為1.0。同時在request中包含一個header:"Connection: keep-alive"。
? ? b)Web Server收到request中的HTTP協議為1.0及"Connection: keep-alive"就認為是一個長連接請求,其將在response的header中也增加"Connection: keep-alive"。同時不會關閉已建立的tcp連接。
? ? c)Client收到Web Server的response中包含"Connection: keep-alive",就認為是一個長連接,不close tcp連接。并用該tcp連接再發送request。(跳轉到a))
2.2 HTTP1.1 KeepAlive支持的數據交互流程如下:
? ? a)Client發出request,其中該request的HTTP版本號為1.1。
? ? b)Web Server收到request中的HTTP協議為1.1就認為是一個長連接請求,其將在response的header中也增加"Connection: keep-alive"。同時不會關閉已建立的tcp連接。
? ? c)Client收到Web Server的response中包含"Connection: keep-alive",就認為是一個長連接,不close tcp連接。并用該tcp連接再發送request。(跳轉到a))
總結
以上是生活随笔為你收集整理的http keepalive原理的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。