http协议中的keeplive是做什么的?它的适应场景是什么?
1.Http底層也是通過TCP傳輸的。
2.HTTP keep-alive
Http是一個”請求-響應”協議,它的keep-alive主要是為了讓多個http請求共享一個Tcp連接,以避免每個Http又新建一個TCP連接。每個Http服務器默認的keep-alive時間可能是不一樣的。
3.直接介紹一個場景就可能更容易明白了。客戶端發送了一個Http請求,服務器響應后,判斷這個Http是否是keep-alive模式的,如果不是則關閉連接,如果是keep-alive,則等待keep-alive time后再關閉,如果這期間再收到一個http 請求,則繼續等待最后一個請求的keep-alive time時間,直到keep-alive time時間內沒有收到請求,則關閉。
4.上面是HTTP keep-alive的,而TCP是它下一層的協議,本身TCP是長連接的,除非主動關閉。HTTP的keep-alive time一般是15ms, 30ms之類的,如果是超過了HTTP的keep-alive time時間,則HTTP會關閉TCP連接。本身TCP是不會關閉連接的,TCP的keep alive是TCP的保鮮裝置,在keep alive timeout 后服務端發送一個監測包來判斷連接是否仍保持著,如果還是可連接,則繼續保持,它不會主動關閉連接的。而心跳包是為了防止NAT超時。
轉載于:https://www.cnblogs.com/hixiaowei/p/9261358.html
總結
以上是生活随笔為你收集整理的http协议中的keeplive是做什么的?它的适应场景是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux桌面环境应用
- 下一篇: 第一个Sprint冲刺第六天