首頁  >  文章  >  後端開發  >  淺談HTTP的連線管理

淺談HTTP的連線管理

little bottle
little bottle轉載
2019-04-23 15:02:242486瀏覽

這篇文章小編將和大家談談HTTP的連結管理,具備一定的學習價值,有興趣的朋友可以了解一下。

HTTP連線管理:

1.誤解的Connection首部

當http封包經過中間用戶端到服務端中間的各種代理裝置時,對標籤中列出的頭資訊進行刪除,close是交易結束後關掉此條連接

2.消除串行化的時延

#並行連接:多條TCP連接發起並發的HTTP請求

持久連接:重複使用TCP連接,消除連接和關閉延遲

管道化連接:透過並發的TCP連接發起並發的HTTP請求

#3 .開啟少量的並行連接,每一個連接都是持久連接

HTTP/1.0 中的keep-alive 和HTTP/1.1中的persistent

客戶端發送Connection:keep-alive 服務端響應Connection:keep-alive就是支持,否則就是不支持

4.HTTP/1.1的持久連接persistent

與keep-alive的區別是,這個預設就是打開的除非發送Connection:close明確關閉

5.連線會在任意的時候關閉掉,每個http回應都應該包含Content-Length以校對資料的完整性

6.連線的關閉和重試會帶來一些副作用,如果是post的請求重試多次會有風險

7.正常關閉連接,會有完全關閉和半關閉兩種

    完全關閉就是服務端輸入輸出全關了,半關閉是只關閉了輸出或輸入

   當資料被傳送到一個已經關閉的連線時,會出現,連線被對端重置的錯誤

    關閉時應該先關閉輸出通道,再關閉輸入通道

相關教學:HTTP影片教學

以上是淺談HTTP的連線管理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除