這篇文章小編將和大家談談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中文網其他相關文章!