HTTP修煉手冊(cè)-HTTP 和 TCP 的 KEEP ALIVE

先把結(jié)論放這:TCP 的 keepalive 和 HTTP 請(qǐng)求和響應(yīng)的包頭里的 keepalive 不是一回事。


TCP 的 keepalive 是用來(lái)檢查 TCP 連接的對(duì)方是否還“活著”,Linux 有三個(gè)參數(shù)跟 keepalive 有關(guān)。

  • tcp_keepalive_time 一個(gè)連接閑了一定時(shí)間,就發(fā) keepalive 的消息,這個(gè)時(shí)間長(zhǎng)度是由 tcp_keepalive_time 來(lái)指定。
  • tcp_keepalive_probes 指定發(fā)送多少個(gè) keepalive 探測(cè)包。如果對(duì)方回了 keepalive 探測(cè)包,說(shuō)明對(duì)方還在,就繼續(xù)保持這個(gè)連接。
  • tcp_keepalive_intvl 指定發(fā)送 keepalive 探測(cè)報(bào)的間隔時(shí)間。跟 tcp_keepalive_probes 相乘(發(fā)送多個(gè) keepalive 探測(cè)包,對(duì)方?jīng)]有響應(yīng)),得到的就是從開(kāi)始 keepalive 檢查到放棄這個(gè)連接的時(shí)間。

HTTP 的 keepalive 是指客戶端和 HTTP 服務(wù)端建立起 TCP 連接后,在這一個(gè) TCP 連接上進(jìn)行多次 HTTP 請(qǐng)求和響應(yīng),而不是建立 TCP 連接,請(qǐng)求,應(yīng)答 HTTP,然后就斷開(kāi) TCP 連接。建立、斷開(kāi) TCP 的次數(shù)大大減少了,TCP 的連接數(shù)也減少了。


參考:
理解TCP之Keepalive
理解HTTP之keep-alive

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容