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