HTTP連接管理: 1.誤解的Connection首部 當http報文經過中間客戶端到服務端中間的各種代理設備時,對標簽中列出的頭信息進行刪除,close是事務結束後關掉此條連接 2.消除串列化的時延 並行連接:多條TCP連接發起併發的HTTP請求 持久連接:重用TCP連接,消除連接和關閉時延 管道... ...
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.正常關閉連接,會有完全關閉和半關閉兩種 完全關閉就是服務端輸入輸出全關了,半關閉是只關閉了輸出或者輸入 當數據被髮送到一條已經關閉的連接上時,會出現,連接被對端重置的錯誤 關閉時應該先關閉輸出通道,再關閉輸入通道