日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Nginx重要概念之keepalive

發(fā)布時間:2023/12/13 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 Nginx重要概念之keepalive 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

什么是keepalive?

  keepalive是長連接的意思。客戶端發(fā)起http請求前需要先與服務(wù)端建立TCP連接,每次TCP連接都需要三次握手來確定,三次交互不僅會增加消費(fèi)時間,還會增加網(wǎng)絡(luò)流量。http請求是請求應(yīng)答式,如果能知道每個請求頭與響應(yīng)體的長度,就可以在一個連接上執(zhí)行多個請求,這個就是所謂的長連接。

如何確定請求頭和響應(yīng)體的長度?

  1、請求頭長度:如果當(dāng)前請求有body,Nginx需要客戶端在請求頭中指定content-length來表明body的大小,否則返回400。

  2、響應(yīng)體長度:在http協(xié)議中響應(yīng)body長度的確定

http1.0:①響應(yīng)頭中有content-length,content-length即為body長度。客服端依照這個長度接收數(shù)據(jù),接收完了就表示請求完成。②響應(yīng)頭中沒有content-length,客戶端會一直接收數(shù)據(jù),知道服務(wù)端主動斷開,才表示body接收完了。
http1.1:①chunked傳輸,響應(yīng)頭中有Transfer-encoding,body為流式輸出,body被分成多個塊,每塊的開始會標(biāo)識出當(dāng)前塊的長度,此時body不需要通過長度指定。②非chunked傳輸,響應(yīng)頭中有content-length則按照content-length來接收數(shù)據(jù),沒有content-length,則客戶端接收數(shù)據(jù),知道服務(wù)器主動斷開。

  除了以上綠色字的情況,響應(yīng)體長度都是可知的。

是否可使用長連接的條件是什么?

  可知響應(yīng)體長度的情況下,當(dāng)服務(wù)器輸出完body后可以考慮使用長連接。長連接的條件限制如下

客服端的請求頭中的connection為close,則客戶端要求不使用長連接。
客戶端的請求頭中的connection為keep-alive,則客戶端要求使用長連接。
客戶端的請求頭中沒有connection這個頭,如果是http1.0協(xié)議默認(rèn)為close,如果是http1.1協(xié)議默認(rèn)為keep-alive。

keepalive時Nginx的等待時長是多少?

  長連接時,Nginx在輸出完響應(yīng)體后,會設(shè)置當(dāng)前連接的keepalive屬性,然后等待客戶端的下一次請求,同時也設(shè)置了一個最大等待時間,這個時間通過keepalive_timeout來配置,如果是0,則表示關(guān)掉長連接,此時不管客戶端的connection值是什么都會強(qiáng)制設(shè)為close。

keepalive的優(yōu)勢是什么?

  服務(wù)端確定是keepalive打開時,在響應(yīng)的http頭中也會有connection=Keep-Alive,否則為Close。如果connection值為colse,Nginx在響應(yīng)完數(shù)據(jù)后就會關(guān)掉連接。所以對于請求量較大的Nginx來說,關(guān)掉keepalive最后會產(chǎn)生較多的time-wait狀態(tài)的socket。當(dāng)客戶端的一次訪問需要多次訪問同一個server時,keepalive會大量減少time-wait的數(shù)量,

以上總結(jié)參考https://mp.weixin.qq.com/s/bXtI45d7M-XjkJH3ARZiMQ

總結(jié)

以上是生活随笔為你收集整理的Nginx重要概念之keepalive的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。