日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

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

编程问答

HTTP Keep-Alive 学习

發(fā)布時(shí)間:2023/12/20 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTTP Keep-Alive 学习 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

面試某家互聯(lián)網(wǎng)公司時(shí),問道HTTP中Keep-Alive,平時(shí)經(jīng)常會(huì)在http 頭文件看到?

Connection:

keep-alive, 但要我講它的用途,確實(shí)不知道!

以下是介紹HTTP中Keep-Alive的文章,轉(zhuǎn)自?現(xiàn)代魔法學(xué)院

?

  • section 01?HTTP Keep-Alive是什么?如何工作?

HTTP Keep-Alive

在http早期,每個(gè)http請(qǐng)求都要求打開一個(gè)tpc socket連接,并且使用一次之后就斷開這個(gè)tcp連接。

使用keep-alive可以改善這種狀態(tài),即在一次TCP連接中可以持續(xù)發(fā)送多份數(shù)據(jù)而不會(huì)斷開連接。通過使用keep-alive機(jī)制,可以減少tcp連接建立次數(shù),也意味著可以減少TIME_WAIT狀態(tài)連接,以此提高性能和提高h(yuǎn)ttpd服務(wù)器的吞吐率(更少的tcp連接意味著更少的系統(tǒng)內(nèi)核調(diào)用,socket的accept()和close()調(diào)用)。

但是,keep-alive并不是免費(fèi)的午餐,長(zhǎng)時(shí)間的tcp連接容易導(dǎo)致系統(tǒng)資源無效占用。配置不當(dāng)?shù)膋eep-alive,有時(shí)比重復(fù)利用連接帶來的損失還更大。所以,正確地設(shè)置keep-alive timeout時(shí)間非常重要。

keepalvie timeout

Httpd守護(hù)進(jìn)程,一般都提供了keep-alive timeout時(shí)間設(shè)置參數(shù)。比如nginx的keepalive_timeout,和Apache的KeepAliveTimeout。這個(gè)keepalive_timout時(shí)間值意味著:一個(gè)http產(chǎn)生的tcp連接在傳送完最后一個(gè)響應(yīng)后,還需要hold住keepalive_timeout秒后,才開始關(guān)閉這個(gè)連接。

當(dāng)httpd守護(hù)進(jìn)程發(fā)送完一個(gè)響應(yīng)后,理應(yīng)馬上主動(dòng)關(guān)閉相應(yīng)的tcp連接,設(shè)置 keepalive_timeout后,httpd守護(hù)進(jìn)程會(huì)想說:”再等等吧,看看瀏覽器還有沒有請(qǐng)求過來”,這一等,便是keepalive_timeout時(shí)間。如果守護(hù)進(jìn)程在這個(gè)等待的時(shí)間里,一直沒有收到瀏覽發(fā)過來http請(qǐng)求,則關(guān)閉這個(gè)http連接。

下面寫一個(gè)腳本,方便測(cè)試:

1 sleep(60);??//為了便于分析測(cè)試,會(huì)根據(jù)測(cè)試進(jìn)行調(diào)整
2 echo?"www.example.com";

1. 當(dāng)keepalive_timeout時(shí)間為0時(shí),即不啟用Keep-Alive時(shí),一個(gè)tcp連接的生命周期:

01#tcpdump -n host 218.1.57.236 and port 80
0220:36:50.792731 IP 218.1.57.236.43052 > 222.73.211.215.http: S 1520902589:1520902589(0) win 65535
0320:36:50.792798 IP 222.73.211.215.http > 218.1.57.236.43052: S 290378256:290378256(0) ack 1520902590 win 5840
0420:36:50.801629 IP 218.1.57.236.43052 > 222.73.211.215.http: . ack 1 win 32768
05?
0620:36:50.801838 IP 218.1.57.236.43052 > 222.73.211.215.http: P 1:797(796) ack 1 win 32768
0720:36:50.801843 IP 222.73.211.215.http > 218.1.57.236.43052: . ack 797 win 59
08?
0920:37:50.803230 IP 222.73.211.215.http > 218.1.57.236.43052: P 1:287(286) ack 797 win 59
1020:37:50.803289 IP 222.73.211.215.http > 218.1.57.236.43052: F 287:287(0) ack 797 win 59
1120:37:50.893396 IP 218.1.57.236.43052 > 222.73.211.215.http: . ack 288 win 32625
1220:37:50.894249 IP 218.1.57.236.43052 > 222.73.211.215.http: F 797:797(0) ack 288 win 32625
1320:37:50.894252 IP 222.73.211.215.http > 218.1.57.236.43052: . ack 798 win 59
  • 第1~3行建立tcp三次握手,建立連接。用時(shí)8898μs
  • 第4~5行通過建立的連接發(fā)送第一個(gè)http請(qǐng)求,服務(wù)端確認(rèn)收到請(qǐng)求。用時(shí)5μs
  • 第5~6行,可以知道腳本執(zhí)行用時(shí)60s1387μs,與php腳本相符。
  • 第6、8行服務(wù)端發(fā)送http響應(yīng)。發(fā)送響應(yīng)用時(shí)90166μs。
  • 第7行,表明由服務(wù)端守護(hù)進(jìn)程主動(dòng)關(guān)閉連接。結(jié)合第6、8行,說明http響應(yīng)一旦發(fā)送完畢,服務(wù)端馬上關(guān)閉這個(gè)tcp連接
  • 第7、9、10說明tcp連接順序關(guān)閉,用時(shí)90963μs。需要注意,這里socket資源并沒有立即釋放,需要等待2MSL時(shí)間(60s)后才被真正釋放。

由此可見,在沒有設(shè)置 keepalive_timeout 情況下,一個(gè)socket資源從建立到真正釋放需要經(jīng)過的時(shí)間是:建立tcp連接 + 傳送http請(qǐng)求 + php腳本執(zhí)行 + 傳送http響應(yīng) + 關(guān)閉tcp連接 + 2MSL 。(注:這里的時(shí)間只能做參考,具體的時(shí)間主要由網(wǎng)絡(luò)帶寬,和響應(yīng)大小而定)

2. 當(dāng)keepalive_timeout時(shí)間大于0時(shí),即啟用Keep-Alive時(shí),一個(gè)tcp連接的生命周期。為了便于分析,我們將keepalive_timeout設(shè)置為300s

01#tcpdump -n host 218.1.57.236 and port 80
0221:38:05.471129 IP 218.1.57.236.54049 > 222.73.211.215.http: S 1669618600:1669618600(0) win 65535
0321:38:05.471140 IP 222.73.211.215.http > 218.1.57.236.54049: S 4166993862:4166993862(0) ack 1669618601 win 5840
0421:38:05.481731 IP 218.1.57.236.54049 > 222.73.211.215.http: . ack 1 win 32768
0521:38:05.481976 IP 218.1.57.236.54049 > 222.73.211.215.http: P 1:797(796) ack 1 win 32768
0621:38:05.481985 IP 222.73.211.215.http > 218.1.57.236.54049: . ack 797 win 59
07?
0821:38:07.483626 IP 222.73.211.215.http > 218.1.57.236.54049: P 1:326(325) ack 797 win 59
0921:38:07.747614 IP 218.1.57.236.54049 > 222.73.211.215.http: . ack 326 win 32605
1021:43:07.448454 IP 222.73.211.215.http > 218.1.57.236.54049: F 326:326(0) ack 797 win 59
1121:43:07.560316 IP 218.1.57.236.54049 > 222.73.211.215.http: . ack 327 win 32605
1221:43:11.759102 IP 218.1.57.236.54049 > 222.73.211.215.http: F 797:797(0) ack 327 win 32605
1321:43:11.759111 IP 222.73.211.215.http > 218.1.57.236.54049: . ack 798 win 59
  • 我們先看一下,第6~8行,跟上次示例不一樣的是,服務(wù)端httpd守護(hù)進(jìn)程發(fā)完響應(yīng)后,沒有立即主動(dòng)關(guān)閉tcp連接。
  • 第8行,結(jié)合第6行,我們可以看到,5分鐘(300s)后,服務(wù)端主動(dòng)關(guān)閉這個(gè)tcp連接。這個(gè)時(shí)間,正是我們?cè)O(shè)置的keepalive_timeout的時(shí)間。
  • 由此可見,設(shè)置了keepalive_timout時(shí)間情況下,一個(gè)socket建立到釋放需要的時(shí)間是多了keepalive_timeout時(shí)間。

3. 當(dāng)keepalive_timeout時(shí)間大于0,并且在同一個(gè)tcp連接發(fā)送多個(gè)http響應(yīng)。這里為了便于分析,我們將keepalive_timeout設(shè)置為180s

通過這個(gè)測(cè)試,我們想弄清楚,keepalive_timeout是從第一個(gè)響應(yīng)結(jié)束開啟計(jì)時(shí),還是最后一個(gè)響應(yīng)結(jié)束開啟計(jì)時(shí)。測(cè)試結(jié)果證實(shí)是后者,這里,我們每隔120s發(fā)一次請(qǐng)求,通過一個(gè)tcp連接發(fā)送了3個(gè)請(qǐng)求。

01# tcpdump -n host 218.1.57.236 and port 80
0222:43:57.102448 IP 218.1.57.236.49955 > 222.73.211.215.http: S 4009392741:4009392741(0) win 65535
0322:43:57.102527 IP 222.73.211.215.http > 218.1.57.236.49955: S 4036426778:4036426778(0) ack 4009392742 win 5840
0422:43:57.111337 IP 218.1.57.236.49955 > 222.73.211.215.http: . ack 1 win 32768
05?
0622:43:57.111522 IP 218.1.57.236.49955 > 222.73.211.215.http: P 1:797(796) ack 1 win 32768
0722:43:57.111530 IP 222.73.211.215.http > 218.1.57.236.49955: . ack 797 win 59
0822:43:59.114663 IP 222.73.211.215.http > 218.1.57.236.49955: P 1:326(325) ack 797 win 59
0922:43:59.350143 IP 218.1.57.236.49955 > 222.73.211.215.http: . ack 326 win 32605
10?
1122:45:59.226102 IP 218.1.57.236.49955 > 222.73.211.215.http: P 1593:2389(796) ack 650 win 32443
1222:45:59.226109 IP 222.73.211.215.http > 218.1.57.236.49955: . ack 2389 win 83
1322:46:01.227187 IP 222.73.211.215.http > 218.1.57.236.49955: P 650:974(324) ack 2389 win 83
1422:46:01.450364 IP 218.1.57.236.49955 > 222.73.211.215.http: . ack 974 win 32281
15?
1622:47:57.377707 IP 218.1.57.236.49955 > 222.73.211.215.http: P 3185:3981(796) ack 1298 win 32119
1722:47:57.377714 IP 222.73.211.215.http > 218.1.57.236.49955: . ack 3981 win 108
1822:47:59.379496 IP 222.73.211.215.http > 218.1.57.236.49955: P 1298:1622(324) ack 3981 win 108
1922:47:59.628964 IP 218.1.57.236.49955 > 222.73.211.215.http: . ack 1622 win 32768
20?
2122:50:59.358537 IP 222.73.211.215.http > 218.1.57.236.49955: F 1622:1622(0) ack 3981 win 108
2222:50:59.367911 IP 218.1.57.236.49955 > 222.73.211.215.http: . ack 1623 win 32768
2322:50:59.686527 IP 218.1.57.236.49955 > 222.73.211.215.http: F 3981:3981(0) ack 1623 win 32768
2422:50:59.686531 IP 222.73.211.215.http > 218.1.57.236.49955: . ack 3982 win 108
  • 第一組,三個(gè)ip包表示tcp三次握手建立連接,由瀏覽器建立。
  • 第二組,發(fā)送第一次http請(qǐng)求并且得到響應(yīng),服務(wù)端守護(hù)進(jìn)程輸出響應(yīng)之后,并沒馬上主動(dòng)關(guān)閉tcp連接。而是啟動(dòng)keepalive_timout計(jì)時(shí)。
  • 第三組,2分鐘后,發(fā)送第二次http請(qǐng)求并且得到響應(yīng),同樣服務(wù)端守護(hù)進(jìn)程也沒有馬上主動(dòng)關(guān)閉tcp連接,重新啟動(dòng)keepalive_timout計(jì)時(shí)。
  • 第四組,又2分鐘后,發(fā)送了第三次http請(qǐng)求并且得到響應(yīng)。服務(wù)器守護(hù)進(jìn)程依然沒有主動(dòng)關(guān)地閉tcp連接(距第一次http響應(yīng)有4分鐘了,大于keepalive_timeout值),而是重新啟動(dòng)了keepalive_timout計(jì)時(shí)。
  • 第五組,跟最后一個(gè)響應(yīng)keepalive_timeout(180s)內(nèi),守護(hù)進(jìn)程再?zèng)]有收到請(qǐng)求。計(jì)時(shí)結(jié)束,服務(wù)端守護(hù)進(jìn)程主動(dòng)關(guān)閉連接。4次揮手后,服務(wù)端進(jìn)入TIME_WAIT狀態(tài)。

這說明,當(dāng)設(shè)定了keepalive_timeout,一個(gè)socket由建立到釋放,需要時(shí)間是:tcp建立 + (最后一個(gè)響應(yīng)時(shí)間 – 第一個(gè)請(qǐng)求時(shí)間) + tcp關(guān)閉 + 2MSL。紅色加粗表示每一次請(qǐng)求發(fā)送時(shí)間、每一次請(qǐng)求腳本執(zhí)行時(shí)間、每一次響應(yīng)發(fā)送時(shí)間,還有兩兩請(qǐng)求相隔時(shí)間。進(jìn)一步測(cè)試,正在關(guān)閉或者TIME_WAIT狀態(tài)的tcp連接,不能傳輸http請(qǐng)求和響應(yīng)。即,當(dāng)一個(gè)連接結(jié)束keepalive_timeout計(jì)時(shí),服務(wù)端守護(hù)進(jìn)程發(fā)送第一個(gè)FIN標(biāo)志ip包后,該連接不能再使用了。

http keep-alive與tcp keep-alive

http keep-alive與tcp keep-alive,不是同一回事,意圖不一樣。http keep-alive是為了讓tcp活得更久一點(diǎn),以便在同一個(gè)連接上傳送多個(gè)http,提高socket的效率。而tcp keep-alive是TCP的一種檢測(cè)TCP連接狀況的保鮮機(jī)制。tcp keep-alive保鮮定時(shí)器,支持三個(gè)系統(tǒng)內(nèi)核配置參數(shù):

1echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
2echo 15 > /proc/sys/net/ipv4/tcp_keepalive_intvl
3echo 5 > /proc/sys/net/ipv4/tcp_keepalive_probes

keepalive是TCP保鮮定時(shí)器,當(dāng)網(wǎng)絡(luò)兩端建立了TCP連接之后,閑置idle(雙方?jīng)]有任何數(shù)據(jù)流發(fā)送往來)了tcp_keepalive_time后,服務(wù)器內(nèi)核就會(huì)嘗試向客戶端發(fā)送偵測(cè)包,來判斷TCP連接狀況(有可能客戶端崩潰、強(qiáng)制關(guān)閉了應(yīng)用、主機(jī)不可達(dá)等等)。如果沒有收到對(duì)方的回答(ack包),則會(huì)在 tcp_keepalive_intvl后再次嘗試發(fā)送偵測(cè)包,直到收到對(duì)對(duì)方的ack,如果一直沒有收到對(duì)方的ack,一共會(huì)嘗試 tcp_keepalive_probes次,每次的間隔時(shí)間在這里分別是15s, 30s, 45s, 60s, 75s。如果嘗試tcp_keepalive_probes,依然沒有收到對(duì)方的ack包,則會(huì)丟棄該TCP連接。TCP連接默認(rèn)閑置時(shí)間是2小時(shí),一般設(shè)置為30分鐘足夠了。

也就是說,僅當(dāng)nginx的keepalive_timeout值設(shè)置高于tcp_keepalive_time,并且距此tcp連接傳輸?shù)淖詈笠粋€(gè)http響應(yīng),經(jīng)過了tcp_keepalive_time時(shí)間之后,操作系統(tǒng)才會(huì)發(fā)送偵測(cè)包來決定是否要丟棄這個(gè)TCP連接。一般不會(huì)出現(xiàn)這種情況,除非你需要這樣做。

keep-alive與TIME_WAIT

使用http keep-alvie,可以減少服務(wù)端TIME_WAIT數(shù)量(因?yàn)橛煞?wù)端httpd守護(hù)進(jìn)程主動(dòng)關(guān)閉連接)。道理很簡(jiǎn)單,相較而言,啟用keep-alive,建立的tcp連接更少了,自然要被關(guān)閉的tcp連接也相應(yīng)更少了。

最后

我想用一張示意圖片來說明使用啟用keepalive的不同。另外,http keepalive是客戶端瀏覽器與服務(wù)端httpd守護(hù)進(jìn)程協(xié)作的結(jié)果,所以,我們另外安排篇幅介紹不同瀏覽器的各種情況對(duì)keepalive的利用。

  • section 02?了解HTTP Keep-Alive的基本情況

Keep-Alive是HTTP協(xié)議中非常重要的一個(gè)屬性。大家知道HTTP構(gòu)建在TCP之上。在HTTP早期實(shí)現(xiàn)中,每個(gè)HTTP請(qǐng)求都要打開一個(gè)socket連接。這種做效率很低,因?yàn)橐粋€(gè)Web 頁面中的很多HTTP請(qǐng)求都指向同一個(gè)服務(wù)器。例如,很多為Web頁面中的圖片發(fā)起的請(qǐng)求都指向一個(gè)通用的圖片服務(wù)器。持久連接的引入解決了多對(duì)已請(qǐng)求服務(wù)器導(dǎo)致的socket連接低效性的問題。它使瀏覽器可以再一個(gè)單獨(dú)的連接上進(jìn)行多個(gè)請(qǐng)求。瀏覽器和服務(wù)器使用Connection頭ilai指出對(duì)Keep-Alive的支持。

HTTP是一個(gè)請(qǐng)求<->響應(yīng)模式的典型范例,即客戶端向服務(wù)器發(fā)送一個(gè)請(qǐng)求信息,服務(wù)器來響應(yīng)這個(gè)信息。在老的HTTP版本中,每個(gè)請(qǐng)求都將被創(chuàng)建一個(gè)新的客戶端->服務(wù)器的連接,在這個(gè)連接上發(fā)送請(qǐng)求,然后接收請(qǐng)求。這樣的模式有一個(gè)很大的優(yōu)點(diǎn)就是,它很簡(jiǎn)單,很容易理解和編程實(shí)現(xiàn);它也有一個(gè)很大的缺點(diǎn)就是,它效率很低,因此Keep-Alive被提出用來解決效率低的問題。

HTTP/1.0

HTTP 1.0中默認(rèn)是關(guān)閉的,需要在http頭加入"Connection: Keep-Alive",才能啟用Keep-Alive;HTTP 1.1中默認(rèn)啟用Keep-Alive,如果加入"Connection: close",才關(guān)閉。

在HTTP/1.0版本中,并沒有官方的標(biāo)準(zhǔn)來規(guī)定Keep-Alive如何工作,因此實(shí)際上它是被附加到HTTP/1.0協(xié)議上,如果客戶端瀏覽器支持Keep-Alive,那么就在HTTP請(qǐng)求頭中添加一個(gè)字段 Connection: Keep-Alive,當(dāng)服務(wù)器收到附帶有Connection: Keep-Alive的請(qǐng)求時(shí),它也會(huì)在響應(yīng)頭中添加一個(gè)同樣的字段來使用Keep-Alive。這樣一來,客戶端和服務(wù)器之間的HTTP連接就會(huì)被保持,不會(huì)斷開(超過Keep-Alive規(guī)定的時(shí)間,意外斷電等情況除外),當(dāng)客戶端發(fā)送另外一個(gè)請(qǐng)求時(shí),就使用這條已經(jīng)建立的連接。

HTTP/1.1

目前大部分瀏覽器都是用HTTP?1.1協(xié)議,也就是說默認(rèn)會(huì)啟用Keep-Alive的連接請(qǐng)求。列舉以下瀏覽器的并發(fā)數(shù)作參考:IE6,7在HTTP/1.0中默認(rèn)最大并發(fā)連接數(shù)為4,在HTTP/1.1中默認(rèn)最大并發(fā)連接數(shù)為2,IE8都為6,Firefox2在HTTP/1.0中默認(rèn)最大并發(fā)連接數(shù)為2 在HTTP/1.1中默認(rèn)最大并發(fā)連接數(shù)為8,firefox 3默認(rèn)都是6。

在HTTP/1.1版本中,官方規(guī)定的Keep-Alive使用標(biāo)準(zhǔn)和在HTTP/1.0版本中有些不同,默認(rèn)情況下所在HTTP1.1中所有連接都被保持,除非在請(qǐng)求頭或響應(yīng)頭中指明要關(guān)閉:Connection: Close ,這也就是為什么Connection: Keep-Alive字段再?zèng)]有意義的原因。另外,還添加了一個(gè)新的字段Keep-Alive:,因?yàn)檫@個(gè)字段并沒有詳細(xì)描述用來做什么,可忽略它。

Not reliable(不可靠)

HTTP是一個(gè)無狀態(tài)協(xié)議,這意味著每個(gè)請(qǐng)求都是獨(dú)立的,Keep-Alive沒能改變這個(gè)結(jié)果。另外,Keep-Alive也不能保證客戶端和服務(wù)器之間的連接一定是活躍的,在HTTP1.1版本中也如此。唯一能保證的就是當(dāng)連接被關(guān)閉時(shí)你能得到一個(gè)通知,所以不應(yīng)該讓程序依賴于Keep-Alive的保持連接特性,否則會(huì)有意想不到的后果。

Keep-Alive和POST

在HTTP1.1細(xì)則中規(guī)定了在一個(gè)POST消息體后面不能有任何字符,還指出了對(duì)于某一個(gè)特定的瀏覽器可能并不遵循這個(gè)標(biāo)準(zhǔn)(比如在POST消息體的后面放置一個(gè)CRLF符)。而據(jù)我所知,大部分瀏覽器在POST消息體后都會(huì)自動(dòng)跟一個(gè)CRLF符再發(fā)送,如何解決這個(gè)問題呢?根據(jù)上面的說明在POST請(qǐng)求頭中禁止使用Keep-Alive,或者由服務(wù)器自動(dòng)忽略這個(gè)CRLF,大部分服務(wù)器都會(huì)自動(dòng)忽略,但是在未經(jīng)測(cè)試之前是不可能知道一個(gè)服務(wù)器是否會(huì)這樣做。

一些容易犯的誤區(qū):

  • HTTP是一個(gè)無狀態(tài)的面向連接的協(xié)議,無狀態(tài)不代表HTTP不能保持TCP連接,更不能代表HTTP使用的是UDP協(xié)議(無連接)
  • 從HTTP/1.1起,默認(rèn)都開啟了Keep-Alive,保持連接特性,簡(jiǎn)單地說,當(dāng)一個(gè)網(wǎng)頁打開完成后,客戶端和服務(wù)器之間用于傳輸HTTP數(shù)據(jù)的TCP連接不會(huì)關(guān)閉,如果客戶端再次訪問這個(gè)服務(wù)器上的網(wǎng)頁,會(huì)繼續(xù)使用這一條已經(jīng)建立的連接
  • Keep-Alive不會(huì)永久保持連接,它有一個(gè)保持時(shí)間,可以在不同的服務(wù)器軟件(如Apache)中設(shè)定這個(gè)時(shí)間
  • section 03?Apache中Keep-Alive配置建議
  • ?

  • 在 Apache 服務(wù)器中,Keep-Alive 是一個(gè)布爾值,On 代表打開,Off 代表關(guān)閉,這個(gè)指令在其他眾多的 HTTPD 服務(wù)器中都是存在的。

    Keep-Alive?配置指令決定當(dāng)處理完用戶發(fā)起的 HTTP 請(qǐng)求后是否立即關(guān)閉 TCP 連接,如果 Keep-Alive 設(shè)置為On,那么用戶完成一次訪問后,不會(huì)立即斷開連接,如果還有請(qǐng)求,那么會(huì)繼續(xù)在這一次 TCP 連接中完成,而不用重復(fù)建立新的 TCP 連接和關(guān)閉TCP 連接,可以提高用戶訪問速度。

    那么我們考慮3種情況:

  • 用戶瀏覽一個(gè)網(wǎng)頁時(shí),除了網(wǎng)頁本身外,還引用了多個(gè) javascript 文件,多個(gè) css 文件,多個(gè)圖片文件,并且這些文件都在同一個(gè) HTTP 服務(wù)器上。
  • 用戶瀏覽一個(gè)網(wǎng)頁時(shí),除了網(wǎng)頁本身外,還引用一個(gè) javascript 文件,一個(gè)圖片文件。
  • 用戶瀏覽的是一個(gè)動(dòng)態(tài)網(wǎng)頁,由程序即時(shí)生成內(nèi)容,并且不引用其他內(nèi)容。
  • 對(duì)于上面3中情況,我認(rèn)為:1 最適合打開 Keep-Alive ,2 隨意,3 最適合關(guān)閉 Keep-Alive

    下面我來分析一下原因。

    在 Apache 中,打開和關(guān)閉 Keep-Alive 功能,服務(wù)器端會(huì)有什么異同呢?

    先看看理論分析。

    打開 Keep-Alive 后,意味著每次用戶完成全部訪問后,都要保持一定時(shí)間后才關(guān)閉會(huì)關(guān)閉 TCP 連接,那么在關(guān)閉連接之前,必然會(huì)有一個(gè)Apache 進(jìn)程對(duì)應(yīng)于該用戶而不能處理其他用戶,假設(shè) Keep-Alive 的超時(shí)時(shí)間為 10 秒種,服務(wù)器每秒處理 50個(gè)獨(dú)立用戶訪問,那么系統(tǒng)中 Apache 的總進(jìn)程數(shù)就是 10 * 50 = 500 個(gè),如果一個(gè)進(jìn)程占用 4M 內(nèi)存,那么總共會(huì)消耗 2G內(nèi)存,所以可以看出,在這種配置中,相當(dāng)消耗內(nèi)存,但好處是系統(tǒng)只處理了 50次 TCP 的握手和關(guān)閉操作。

    如果關(guān)閉 Keep-Alive,如果還是每秒50個(gè)用戶訪問,如果用戶每次連續(xù)的請(qǐng)求數(shù)為3個(gè),那么 Apache 的總進(jìn)程數(shù)就是 50 * 3= 150 個(gè),如果還是每個(gè)進(jìn)程占用 4M 內(nèi)存,那么總的內(nèi)存消耗為 600M,這種配置能節(jié)省大量?jī)?nèi)存,但是,系統(tǒng)處理了 150 次 TCP的握手和關(guān)閉的操作,因此又會(huì)多消耗一些 CPU 資源。

    再看看實(shí)踐的觀察。

    我在一組大量處理動(dòng)態(tài)網(wǎng)頁內(nèi)容的服務(wù)器中,起初打開 Keep-Alive功能,經(jīng)常觀察到用戶訪問量大時(shí)Apache進(jìn)程數(shù)也非常多,系統(tǒng)頻繁使用交換內(nèi)存,系統(tǒng)不穩(wěn)定,有時(shí)負(fù)載會(huì)出現(xiàn)較大波動(dòng)。關(guān)閉了 Keep-Alive功能后,看到明顯的變化是: Apache 的進(jìn)程數(shù)減少了,空閑內(nèi)存增加了,用于文件系統(tǒng)Cache的內(nèi)存也增加了,CPU的開銷增加了,但是服務(wù)更穩(wěn)定了,系統(tǒng)負(fù)載也比較穩(wěn)定,很少有負(fù)載大范圍波動(dòng)的情況,負(fù)載有一定程度的降低;變化不明顯的是:訪問量較少的時(shí)候,系統(tǒng)平均負(fù)載沒有明顯變化。

    總結(jié)一下:

    在內(nèi)存非常充足的服務(wù)器上,不管是否關(guān)閉 Keep-Alive 功能,服務(wù)器性能不會(huì)有明顯變化;

    如果服務(wù)器內(nèi)存較少,或者服務(wù)器有非常大量的文件系統(tǒng)訪問時(shí),或者主要處理動(dòng)態(tài)網(wǎng)頁服務(wù),關(guān)閉 Keep-Alive 后可以節(jié)省很多內(nèi)存,而節(jié)省出來的內(nèi)存用于文件系統(tǒng)Cache,可以提高文件系統(tǒng)訪問的性能,并且系統(tǒng)會(huì)更加穩(wěn)定。

    補(bǔ)充1:

    關(guān)于是否應(yīng)該關(guān)閉 Keep-Alive 選項(xiàng),我覺得可以基于下面的一個(gè)公式來判斷。

    在理想的網(wǎng)絡(luò)連接狀況下,系統(tǒng)的 Apache 進(jìn)程數(shù)和內(nèi)存使用可以用如下公式表達(dá):

    HttpdProcessNumber = KeepAliveTimeout * TotalRequestPerSecond / Average(KeepAliveRequests)

    HttpdUsedMemory = HttpdProcessNumber * MemoryPerHttpdProcess

    換成中文:

    總Apache進(jìn)程數(shù) = KeepAliveTimeout * 每秒種HTTP請(qǐng)求數(shù) / 平均KeepAlive請(qǐng)求

    Apache占用內(nèi)存 = 總Apache進(jìn)程數(shù) * 平均每進(jìn)程占用內(nèi)存數(shù)

    需要特別說明的是:

    [平均Keep-Alive請(qǐng)求] 數(shù),是指每個(gè)用戶連接上服務(wù)器后,持續(xù)發(fā)出的 HTTP 請(qǐng)求數(shù)。當(dāng) Keep-AliveTimeout 等 0或者 Keep-Alive 關(guān)閉時(shí),Keep-AliveTimeout 不參與乘的運(yùn)算從上面的公式看,如果 [每秒用戶請(qǐng)求]多,[Keep-AliveTimeout] 的值大,[平均Keep-Alive請(qǐng)求] 的值小,都會(huì)造成 [Apache進(jìn)程數(shù)] 多和 [內(nèi)存]多,但是當(dāng) [平均Keep-Alive請(qǐng)求] 的值越大時(shí),[Apache進(jìn)程數(shù)] 和 [內(nèi)存] 都是趨向于減少的。

    基于上面的公式,我們就可以推算出當(dāng) 平均Keep-Alive請(qǐng)求 <= Keep-AliveTimeout 時(shí),關(guān)閉 Keep-Alive 選項(xiàng)是劃算的,否則就可以考慮打開。

    補(bǔ)充2:??Keep-Alive 該參數(shù)控制Apache是否允許在一個(gè)連接中有多個(gè)請(qǐng)求,默認(rèn)打開。但對(duì)于大多數(shù)論壇類型站點(diǎn)來說,通常設(shè)置為off以關(guān)閉該支持。?

    補(bǔ)充3:??如果服務(wù)器前跑有應(yīng)用squid服務(wù),或者其它七層設(shè)備,Keep-Alive On 設(shè)定要開啟持續(xù)長(zhǎng)連接

    實(shí)際在前端有 squid 的情況下, Keep-Alive 很關(guān)鍵。記得 On

    section 04?HTTP協(xié)議中的長(zhǎng)連接與短連接
  • 長(zhǎng)連接與短連接

    • 長(zhǎng)連接:client方與server方先建立連接,連接建立后不斷開,然后再進(jìn)行報(bào)文發(fā)送和接收。這種方式下由于通訊連接一直存在。此種方式常用于P2P通信。
    • 短連接:Client方與server每進(jìn)行一次報(bào)文收發(fā)交易時(shí)才進(jìn)行通訊連接,交易完畢后立即斷開連接。此方式常用于一點(diǎn)對(duì)多點(diǎn)通訊。C/S通信。

    長(zhǎng)連接與短連接的操作過程

    短連接的操作步驟是:

    建立連接——數(shù)據(jù)傳輸——關(guān)閉連接...建立連接——數(shù)據(jù)傳輸——關(guān)閉連接

    長(zhǎng)連接的操作步驟是:

    建立連接——數(shù)據(jù)傳輸...(保持連接)...數(shù)據(jù)傳輸——關(guān)閉連接

    長(zhǎng)連接與短連接的使用時(shí)機(jī)

    短連接多用于操作頻繁,點(diǎn)對(duì)點(diǎn)的通訊,而且連接數(shù)不能太多的情況。每個(gè)TCP連接的建立都需要三次握手,每個(gè)TCP連接的斷開要四次握手。

    如果每次操作都要建立連接然后再操作的話處理速度會(huì)降低,所以每次操作后,下次操作時(shí)直接發(fā)送數(shù)據(jù)就可以了,不用再建立TCP連接。例如:數(shù)據(jù)庫(kù)的連接用長(zhǎng)連接,如果用短連接頻繁的通信會(huì)造成socket錯(cuò)誤,頻繁的socket創(chuàng)建也是對(duì)資源的浪費(fèi)。

    Web網(wǎng)站的http服務(wù)一般都用短連接,因?yàn)殚L(zhǎng)連接對(duì)于服務(wù)器來說要耗費(fèi)一定的資源。像web網(wǎng)站這么頻繁的成千上萬甚至上億客戶端的連接用短連接更省一些資源。試想如果都用長(zhǎng)連接,而且同時(shí)用成千上萬的用戶,每個(gè)用戶都占有一個(gè)連接的話,可想而知服務(wù)器的壓力有多大。所以并發(fā)量大,但是每個(gè)用戶又不需頻繁操作的情況下需要短連接。

    總之:長(zhǎng)連接和短連接的選擇要根據(jù)需求而定。

    長(zhǎng)連接和短連接的產(chǎn)生在于client和server采取的關(guān)閉策略,具體的應(yīng)用場(chǎng)景采用具體的策略,沒有十全十美的選擇,只有合適的選擇。

    HTTP協(xié)議長(zhǎng)連接、短連接總結(jié)

    長(zhǎng)連接與短連接的不同主要在于client和server采取的關(guān)閉策略不同。短連接在建立連接以后只進(jìn)行一次數(shù)據(jù)傳輸就關(guān)閉連接,而長(zhǎng)連接在建立連接以后會(huì)進(jìn)行多次數(shù)據(jù)數(shù)據(jù)傳輸直至關(guān)閉連接(長(zhǎng)連接中關(guān)閉連接通過Connection:closed頭部字段)。

    二者關(guān)閉策略的不同,就產(chǎn)生了長(zhǎng)連接的優(yōu)點(diǎn):

    • 通過開啟、關(guān)閉更少的TCP連接,節(jié)約CPU時(shí)間和內(nèi)存
    • 通過減少TCP開啟引起的包的數(shù)目,降低網(wǎng)絡(luò)阻塞。

    二者所應(yīng)用的具體場(chǎng)景不同。短連接多用于操作頻繁、點(diǎn)對(duì)點(diǎn)的通訊,且連接數(shù)不能太多的情況。數(shù)據(jù)庫(kù)的連接則采用長(zhǎng)連接。

  • 轉(zhuǎn)自?現(xiàn)代魔法學(xué)院

    總結(jié)

    以上是生活随笔為你收集整理的HTTP Keep-Alive 学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    狠狠干天天干 | 三级av在线播放 | 97人人爽 | 亚洲午夜久久久久久久久 | 久久精品久久精品久久39 | 人人涩| 狠狠干狠狠操 | 国产91九色视频 | 久久亚洲福利视频 | 欧美国产日韩在线观看 | 国产精品久久久久久久久久免费 | 在线播放精品一区二区三区 | 天天色天天射天天综合网 | 国产伦精品一区二区三区无广告 | 日韩欧美国产免费播放 | 久久夜色精品国产欧美乱极品 | 91av超碰| 亚洲国产日韩欧美在线 | 丰满少妇在线 | 国产91勾搭技师精品 | 亚洲三级国产 | 黄色三级免费片 | 天天综合导航 | 国产欧美精品一区二区三区 | 国产这里只有精品 | 午夜av电影院 | 色视频网站在线 | 五月婷香 | 青春草视频 | 日韩视频一 | 一区二区三区手机在线观看 | 成人黄色一级视频 | 免费看的国产视频网站 | 精品国产123 | 免费观看黄色12片一级视频 | 久草网在线观看 | 免费在线激情电影 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 久久r精品 | 婷婷六月丁香激情 | www91在线 | 久久久久久久国产精品 | 91精品国自产拍天天拍 | 国产色黄网站 | 精品国产一区二区三区久久 | 在线观看成人 | 天天干天天操天天 | 粉嫩aⅴ一区二区三区 | 黄色小网站在线观看 | 国产精品久久在线 | 91精品一区在线观看 | 亚洲影视九九影院在线观看 | 1024手机基地在线观看 | 国产精品成人久久久久 | 黄色免费网站大全 | se视频网址 | 欧美一级免费黄色片 | 天天色宗合 | 婷婷综合在线 | 久久久亚洲精华液 | 97在线观看视频 | 在线电影播放 | 亚洲成av人影院 | 久久精品高清 | 亚洲精品一区二区三区在线观看 | 在线观看日本高清mv视频 | 国产品久精国精产拍 | 最近中文字幕大全 | 久久人人做| 久久超 | 天天视频色 | 久久97久久97精品免视看 | 免费成人av在线 | 亚洲激情视频在线 | 日韩精品高清不卡 | 欧美综合色在线图区 | 亚洲视频播放 | 日韩av三区 | 中文字幕乱码电影 | 99热网站| 日韩国产精品毛片 | 国产成人久久 | 三级免费黄色 | 天天操天天舔天天干 | 九九九热精品免费视频观看 | 午夜精品久久久久久久爽 | 精品国产一区二区三区久久久久久 | av网站免费在线 | 五月天综合激情网 | 毛片一区二区 | 色综合天天视频在线观看 | 中文字幕精品www乱入免费视频 | 97视频在线观看网址 | 狠狠久久伊人 | 手机在线看片日韩 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产在线理论片 | 亚洲乱码精品 | 欧美乱码精品一区 | 国产精品久久久久久久久久久免费 | 可以免费看av | 日日夜夜综合网 | 国产精品毛片完整版 | 午夜精品一区二区三区视频免费看 | 日韩色区| 久久这里有精品 | 91爱爱免费观看 | 免费看片网址 | 国产精品精品久久久久久 | 亚洲高清免费在线 | 91av视频| 日韩欧美一区二区三区在线 | 亚洲精品中文在线 | av网站免费线看精品 | 六月激情丁香 | 国产福利91精品张津瑜 | 日韩网站中文字幕 | 激情亚洲综合在线 | 欧美日韩一区二区在线 | 精品国产欧美一区二区三区不卡 | 日本激情动作片免费看 | 国产美女视频一区 | 国产网站在线免费观看 | 国产流白浆高潮在线观看 | 久久伊人免费视频 | 国产视频午夜 | 99精品视频免费观看 | 2019久久精品 | 欧美一级视频免费 | 三级av片 | 日韩系列 | 成年一级片 | 美州a亚洲一视本频v色道 | 午夜黄网 | 亚洲国产经典视频 | 伊人五月天 | 夜夜爽天天爽 | 三级黄色在线观看 | 精品视频不卡 | 一区二区三区久久 | 九九涩涩av台湾日本热热 | 国产精品一区二区免费在线观看 | 国产高清第一页 | 日韩av网站在线播放 | 色福利网站| 五月婷婷综合激情网 | 麻豆视频国产在线观看 | 91伊人久久大香线蕉蜜芽人口 | 成人黄色国产 | 在线成人短视频 | av中文天堂在线 | 在线欧美国产 | 国内精品久久久久久久久久 | 成人在线观看资源 | 色com| 日韩丝袜在线观看 | 久久激情电影 | 日韩动漫免费观看高清完整版在线观看 | 在线观看免费成人av | 亚洲一区二区三区精品在线观看 | 天天操比 | 日韩天天操 | 四虎www com| 国产精品永久久久久久久www | 日韩一区二区免费在线观看 | 超级av在线 | 91亚洲综合 | 91视频免费看网站 | 337p西西人体大胆瓣开下部 | 91漂亮少妇露脸在线播放 | 97高清视频 | 亚洲精品成人在线 | 久久66热这里只有精品 | av三级在线播放 | 中文字幕一区二 | 婷婷色网址 | 看全黄大色黄大片 | 久久久麻豆| 亚洲精品国产精品99久久 | 精品美女国产在线 | 国产高清第一页 | 久久久久电影网站 | 91在线文字幕 | 97超级碰| 婷婷色视频 | 免费在线观看国产黄 | 欧美黄网站 | av片子在线观看 | 中文资源在线播放 | 玖玖玖在线 | av在线播放国产 | 精品国产乱码久久久久久久 | 天天摸天天舔 | 激情电影影院 | 精品国产免费人成在线观看 | 色综合天天狠天天透天天伊人 | 一二三四精品 | 97夜夜澡人人双人人人喊 | av大全在线观看 | 成片视频免费观看 | 麻豆一区二区 | 日韩色一区二区三区 | 色资源网免费观看视频 | 国产一区二区在线播放视频 | 国产高清视频免费在线观看 | www.色婷婷.com| 丰满少妇对白在线偷拍 | 在线观看黄 | 色婷婷在线观看视频 | 婷婷综合国产 | 福利视频在线看 | 国产综合在线观看视频 | 蜜桃视频精品 | 超碰在线最新网址 | 国产96在线观看 | 97超碰中文| 天堂va在线高清一区 | 国产一二三区在线观看 | 日日麻批40分钟视频免费观看 | 婷婷综合导航 | 国产精品普通话 | 婷婷av电影 | 天天操网站 | 久久99国产精品二区护士 | 午夜精品区| 欧美综合久久久 | 在线视频 你懂得 | 久久视频在线看 | 久久久久久网址 | 国产不卡毛片 | 日韩免费一区二区 | 国产免费高清视频 | 中文字幕一区二区三区久久 | 中文字幕免费在线 | 免费观看国产精品视频 | 最新色视频 | 精品久久九九 | 在线观看免费黄色 | 亚洲在线免费视频 | 国产高清在线永久 | 成片视频在线观看 | 视频精品一区二区三区 | 五月黄色 | 色综合五月 | 久久免费av电影 | www.超碰97.com| av九九九| 天天干天天草 | wwwww.国产| 又色又爽又黄高潮的免费视频 | 成人毛片一区 | 国产成人亚洲在线电影 | 久久综合久色欧美综合狠狠 | 亚洲精品一区二区三区高潮 | 日韩在线欧美在线 | 波多野结衣视频一区二区三区 | 日日干夜夜操视频 | 天天操天天操天天 | 美腿丝袜av | 色偷偷97 | 69国产盗摄一区二区三区五区 | 国产精品久久久久久69 | 日本福利视频在线 | 日韩欧美在线高清 | 五月婷社区 | 国产精品久久久一区二区三区网站 | 成人av av在线 | 波多野结衣视频一区二区三区 | 成年人免费在线看 | 波多野结衣在线视频一区 | 99精品视频在线观看视频 | 久久草在线视频国产 | 91热精品 | 一本一本久久aa综合精品 | 久久久精品日本 | 中文字幕一区av | 日韩精品一区二区三区免费观看 | 69精品视频在线观看 | 亚洲无线视频 | 中文字幕在线视频网站 | 97手机电影网 | 日日草av | 久99精品| 亚洲日本va中文字幕 | 婷婷激情综合五月天 | www.天天色 | 丁香五婷| 免费成人在线电影 | 精品一区二区三区香蕉蜜桃 | 黄色av一级片 | 五月天精品视频 | 免费看的黄色小视频 | 亚洲免费在线视频 | 欧美精品在线观看免费 | 日韩在线视频一区二区三区 | 就要色综合| 射九九| 在线观看av免费观看 | 国内精品视频免费 | 韩国精品在线观看 | 成人av高清在线 | 狠狠操狠狠干2017 | 久久伊人爱 | 国产精品久久在线 | 五月天婷婷免费视频 | 久久久久久久久久毛片 | 欧美精品网站 | 伊人色**天天综合婷婷 | 日日干夜夜操视频 | 狠狠色伊人亚洲综合成人 | 国产在线免费观看 | 人人干免费 | www.五月天激情 | 久艹在线免费观看 | 欧美日韩综合在线 | 精品亚洲视频在线观看 | 中文在线字幕免费观 | 91在线视频 | 久久精品毛片 | 国产精品麻 | 成人a视频 | 色香蕉视频 | 在线观看 国产 | 国产中文字幕在线视频 | 亚洲综合在线播放 | 国产高清在线精品 | 在线91视频 | 国产精品永久久久久久久www | 91在线免费播放 | 婷婷激情五月综合 | 精品99免费视频 | 久久综合狠狠综合 | 欧美日韩在线观看视频 | 高清一区二区三区 | 久久婷婷丁香 | 91成人精品国产刺激国语对白 | 国产一区二区三区网站 | 久久黄视频 | 人人爽人人爽人人片av | 免费a v视频 | 日韩免费在线网站 | 欧美日韩亚洲在线观看 | 国产婷婷vvvv激情久 | 国产精品女同一区二区三区久久夜 | 最近更新好看的中文字幕 | 美女网色 | 精品国产电影一区 | 欧美aaaxxxx做受视频 | 香蕉视频4aa | 久久精品国产v日韩v亚洲 | 天天射天天操天天色 | 男女啪啪视屏 | 国产精品theporn | 麻豆影视网 | 色网站黄| 日本99久久 | 国产一区二区三区免费在线 | 国产成人a v电影 | 日本三级中文字幕在线观看 | 九九热av | 久久免费黄色大片 | 伊人午夜 | 欧美巨大 | 午夜av免费观看 | 久热久草| 九九国产视频 | 夜夜操天天摸 | 欧美久久电影 | 四虎在线观看精品视频 | 亚洲毛片在线观看. | www.亚洲视频.com | www日韩视频| 四虎永久国产精品 | 五月婷网 | 六月丁香综合 | 91亚洲在线 | av免费电影网站 | 一区二区三区影院 | 国产精品人人做人人爽人人添 | 久久久这里有精品 | 成人手机在线视频 | 日本三级久久 | 97在线观看免费高清完整版在线观看 | 亚洲午夜电影网 | 玖草在线观看 | 成片免费观看视频 | 美女黄视频免费 | 国产精品99久久免费观看 | 天天鲁一鲁摸一摸爽一爽 | 国产精品激情偷乱一区二区∴ | 热热热热热色 | 色射爱| 国产99久久久精品 | 探花视频在线观看免费 | 日韩精品免费一区二区三区 | 韩国av一区二区三区在线观看 | 日韩高清观看 | 最新中文字幕在线播放 | 久久97久久97精品免视看 | 欧美精品久久久久久久亚洲调教 | av网站播放 | 久久视频在线视频 | 在线播放亚洲 | 国产资源精品 | 色视频网站在线观看一=区 a视频免费在线观看 | 午夜在线观看影院 | 亚洲国产美女久久久久 | 国产精品视频资源 | 99热手机在线观看 | 国产欧美精品一区二区三区四区 | 国产对白av | 美女露久久 | 精品国产伦一区二区三区观看方式 | 在线看v片成人 | 激情综合网五月激情 | 欧美ⅹxxxxxx| 色噜噜在线观看 | 2023亚洲精品国偷拍自产在线 | 综合色中文 | av日韩国产 | se婷婷| av在线进入| 欧美日韩中文字幕在线视频 | 激情婷婷色| 久热免费在线 | 日韩a级免费视频 | 精品久久1| 欧美极品一区二区三区 | 欧美另类人妖 | 99久高清在线观看视频99精品热在线观看视频 | 色偷偷av男人天堂 | 天天操天天干天天玩 | 天天视频亚洲 | 中文国产在线观看 | 婷婷国产在线观看 | 亚洲无吗av| 亚洲精品 在线视频 | 色资源网免费观看视频 | 日韩动漫免费观看高清完整版在线观看 | 国产精品aⅴ| 久草免费看 | 日韩成人免费观看 | 日韩专区一区二区 | av色影院 | 天天操福利视频 | www.色午夜| 在线观看免费高清视频大全追剧 | 91高清视频在线 | 国产精品爽爽久久久久久蜜臀 | 999成人| 六月色婷 | 欧美,日韩| 日韩久久视频 | 高清不卡免费视频 | 久色 网 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产精品网址在线观看 | 69国产盗摄一区二区三区五区 | 天天射一射| 国内免费的中文字幕 | 黄色com| 91av播放| 一区二区丝袜 | 精品国产一区二区三区久久 | 国产午夜精品在线 | 黄色免费观看网址 | 免费一级片在线观看 | 欧美一区免费观看 | 亚洲成av人片在线观看无 | 日韩免费一区 | 热re99久久精品国产99热 | 黄色免费网战 | 久久久精品国产免费观看同学 | 在线看成人av | 国产91精品久久久久 | 欧美三级高清 | av免费看在线 | 天天看天天操 | 欧美日韩在线视频免费 | 久久99最新地址 | 日本高清中文字幕有码在线 | 激情开心色 | 人人干,人人爽 | 91成人小视频 | 四虎成人av | 摸bbb搡bbb搡bbbb| 中文字幕在线观看你懂的 | 97超碰在线资源 | 久久久精品 一区二区三区 国产99视频在线观看 | 亚洲免费公开视频 | 欧美日韩高清一区二区 | 免费在线观看日韩欧美 | 亚洲国产人午在线一二区 | 一级黄色片在线 | 久久久久免费网 | 97超在线视频 | 亚洲精品国偷拍自产在线观看 | 国产97av| 国产成人福利片 | 日韩在线在线 | 欧洲精品亚洲精品 | av大全在线播放 | 亚洲最大av | 91刺激视频| 久久久精品国产免费观看一区二区 | 1024手机基地在线观看 | 久久久精品福利视频 | 国产在线不卡精品 | 欧美人体xx | 一级成人免费 | 2023av| 久久久久亚洲精品中文字幕 | 久久永久免费视频 | 国产网红在线观看 | 狠狠干夜夜爱 | 久久久国产高清 | 国产精彩视频一区二区 | 亚洲精品视频免费在线观看 | 亚洲国产精品日韩 | 免费av在线播放 | 国产精品成人久久久久久久 | 麻豆传媒视频在线免费观看 | 久久久久色 | 久久国产网站 | 亚洲一本视频 | 一本大道久久精品懂色aⅴ 五月婷社区 | 午夜精品区| 久久经典视频 | 久久精品国产亚洲精品 | 69久久久| 色综合久久中文字幕综合网 | 91麻豆精品国产91久久久久 | 日韩精品无 | 亚洲综合色婷婷 | 精品国产aⅴ麻豆 | 久草线| 国产精品一区二区免费在线观看 | 香蕉视频在线视频 | 操久在线 | 最新av免费 | 国产尤物在线 | 久久久精华网 | 欧美精品v国产精品v日韩精品 | 国产不卡精品 | 胖bbbb搡bbbb擦bbbb | 色综合天天视频在线观看 | 99视频精品 | 91视频免费观看 | 精品亚洲在线 | 在线免费观看视频a | 777视频在线观看 | 中文字幕五区 | 亚洲v精品 | 亚洲国产视频直播 | 国内精品久久久久久久影视麻豆 | 超碰免费公开 | 黄色特级片 | 91九色自拍 | 在线免费观看黄色 | 国产美女无遮挡永久免费 | 91亚洲精品久久久蜜桃 | 久久精品精品电影网 | 操综合 | 国产五月色婷婷六月丁香视频 | 五月天亚洲综合小说网 | 91影视成人 | 久久久久久久看片 | 五月婷婷在线视频观看 | 亚洲黄色在线观看 | 国产精品色 | 色综合天天色 | 在线视频在线观看 | 国产一区二区不卡视频 | 97香蕉超级碰碰久久免费软件 | 精品国产中文字幕 | 五月天天av | 操操操com| 深夜福利视频在线观看 | 人人插人人费 | 精品一区电影 | 午夜少妇av | 中文字幕一区二区在线播放 | 国产视频精选在线 | 一区二区精 | 最近免费观看的电影完整版 | 亚洲视频 视频在线 | 91色吧| 日本公妇在线观看高清 | 天天综合亚洲 | 福利精品在线 | 欧美成年黄网站色视频 | 免费看三级网站 | 在线国产不卡 | 成年人毛片在线观看 | av在线收看| 麻豆高清免费国产一区 | 成人va在线观看 | 亚洲精品国产高清 | 欧美成人69av| 国产又粗又长又硬免费视频 | 色资源网免费观看视频 | 欧美日韩精品在线播放 | 特片网久久 | 国产一区二区中文字幕 | 久久99精品波多结衣一区 | 99精品视频网 | 日日夜夜免费精品视频 | 美国av片在线观看 | 亚洲国产视频网站 | 成人99免费视频 | 国产在线视频一区 | 亚洲亚洲精品在线观看 | 国产精品久久久久久久7电影 | 丁香在线观看完整电影视频 | 国产免费一区二区三区网站免费 | 成年人免费在线观看网站 | 九九九九九九精品任你躁 | 97在线观看免费高清完整版在线观看 | 欧美日韩视频 | 91 在线视频播放 | 亚洲九九影院 | 日本精品久久久久久 | 亚洲精品一区中文字幕乱码 | 日本黄色大片免费 | 黄色1级大片 | 国产精品午夜在线观看 | 日韩一级片观看 | 亚洲成人av在线播放 | 九九热在线观看视频 | 国产精品18久久久久久久久 | 国产精品永久 | www.久久成人| 日韩在线影视 | 婷婷五天天在线视频 | 国产精品青草综合久久久久99 | 国产精品国产三级国产不产一地 | 亚洲精品美女久久17c | 狠狠躁日日躁狂躁夜夜躁av | 日韩毛片一区 | 一区二区欧美日韩 | 伊人va | 一区二区视频在线免费观看 | 亚洲精品久久久蜜桃直播 | 欧美激情综合五月色丁香小说 | 激情婷婷| 五月导航| 亚洲欧洲精品久久 | 国产91九色蝌蚪 | 男女免费视频观看 | 国产精品久久99综合免费观看尤物 | 日日爽视频 | 久久伊人五月天 | 精品久久网站 | 热久久电影 | 日韩久久久久久久久久 | 天天综合网天天综合色 | 亚洲理论电影 | 黄色a三级| 色停停五月天 | 色无五月| 欧美日韩免费在线观看视频 | 欧洲高潮三级做爰 | 国产日韩精品一区二区在线观看播放 | 六月色播| av在线网站大全 | www视频在线免费观看 | 亚洲综合丁香 | 免费av网站在线看 | 成年人免费在线 | 久久九精品 | 在线天堂中文在线资源网 | 亚洲激情一区二区三区 | 黄网站色视频免费观看 | 久久理论电影 | 亚洲高清免费在线 | 精品99免费视频 | 国产 在线 高清 精品 | 一区二区三区在线观看 | 精品国产大片 | 999久久国精品免费观看网站 | 国产 日韩 在线 亚洲 字幕 中文 | 久久网站av | 一区二区高清在线 | 天天色天天操天天爽 | a极黄色片| 久久久亚洲精华液 | 一性一交视频 | 97久久精品午夜一区二区 | 高清久久久 | 免费看黄电影 | 国产精品欧美日韩 | 久久一区二区免费视频 | 天天鲁一鲁摸一摸爽一爽 | 最近免费中文字幕大全高清10 | 国产精品久久久久久久久久新婚 | 99精品黄色| 在线国产福利 | 美女网色 | 久久久久成人精品亚洲国产 | 在线网站黄 | 欧美性免费| 亚洲精品美女在线 | 久久99亚洲精品久久久久 | 日韩aⅴ视频 | 国产黄色av网站 | 日本精品午夜 | 国内外成人免费在线视频 | 一级片免费视频 | 日韩视频中文 | 一级国产视频 | 又黄又爽的免费高潮视频 | 亚洲免费成人av电影 | 热久久最新地址 | 丝袜少妇在线 | h动漫中文字幕 | 中日韩在线视频 | 婷婷丁香六月天 | 久久国产精品99国产精 | 婷婷国产v亚洲v欧美久久 | 国产成人精品电影久久久 | 久久国产精品成人免费浪潮 | av在线一二三区 | 日韩国产精品毛片 | 久久视频这里只有精品 | 免费99| 中文在线a∨在线 | а中文在线天堂 | 久久免费福利 | 91秒拍国产福利一区 | 亚洲欧美国产视频 | 久久99精品国产 | 伊人看片 | 日本公妇在线观看 | 久久1区 | 色婷婷综合久久久 | 日韩久久精品一区 | 天天干,夜夜操 | 手机av资源 | 99在线精品免费视频九九视 | 国产精品在线看 | 精品国产一区二区三区不卡 | 美女黄频在线观看 | 国内外成人免费在线视频 | 国产在线中文字幕 | 欧美一区二区三区在线观看 | 久久综合九色欧美综合狠狠 | 国内精品亚洲 | 久操视频在线观看 | 国产一区二区精品 | av日韩av| 国产原创在线视频 | 综合久久网站 | 五月婷婷开心 | 免费大片黄在线 | 亚洲最大成人网4388xx | 国产精品久久久久av福利动漫 | 人人爱爱人人 | 久草在线视频国产 | 午夜精品电影 | 久久在线看 | 国产成人精品av | 中文字幕av在线免费 | 国产色爽 | 中文字幕二区三区 | 国产精品18久久久久久首页狼 | 99久久毛片 | 国产精品免费视频网站 | 视频成人免费 | 在线超碰av | 成人免费xyz网站 | a天堂最新版中文在线地址 久久99久久精品国产 | 亚洲成人二区 | 婷婷综合视频 | 激情综合亚洲 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 9797在线看片亚洲精品 | 亚洲精品国产精品乱码不99热 | 在线观看免费版高清版 | 久久久久一区二区三区四区 | 日本中文字幕在线一区 | 婷婷丁香综合 | 嫩嫩影院理论片 | 狠狠色伊人亚洲综合网站野外 | 成人一级视频在线观看 | 欧美国产日韩在线视频 | 中文字幕你懂的 | 波多野结衣在线播放一区 | 91桃色视频 | 99久久婷婷国产综合精品 | 911久久| 婷婷在线免费视频 | 久久久在线 | 亚洲v精品| 天堂av网在线 | 九热在线| 国产精品久久久久久久久久免费看 | 国产日本三级 | 欧美一区二区三区在线播放 | 操操色 | 高清精品久久 | 在线观看免费成人 | 久久草在线视频国产 | 久久精品久久久精品美女 | 97国产精品 | 中文字幕中文字幕中文字幕 | 国产专区欧美专区 | 在线免费成人 | 在线国产黄色 | av网址aaa | 2019天天干夜夜操 | 9999在线 | 日韩欧美精品一区 | 欧美精品一区二区性色 | 日韩在线视 | 91精品在线麻豆 | 五月婷婷丁香六月 | 亚洲香蕉视频 | 91人人揉日日捏人人看 | 日韩亚洲欧美中文字幕 | 天天操天天射天天 | 日日夜夜精品视频天天综合网 | 久久99热这里只有精品国产 | 国产精品v欧美精品 | 91成人精品视频 | 国产精品一区在线观看你懂的 | 精品免费久久久久久 | 中文字幕日韩一区二区三区不卡 | 在线观看91精品国产网站 | 久久午夜免费观看 | 亚洲精品欧洲精品 | 日韩中文字幕电影 | 999精品视频 | 久久国精品 | 日韩av视屏在线观看 | 正在播放五月婷婷狠狠干 | 97在线视频免费播放 | 日韩av午夜 | 91人人干 | 中文字幕在线视频网站 | 亚洲老妇xxxxxx | 99久久综合狠狠综合久久 | 免费观看v片在线观看 | 91中文字幕永久在线 | 久久精品亚洲国产 | 日韩理论影院 | 2024国产精品视频 | 国产成人精品日本亚洲999 | 97色婷婷成人综合在线观看 | 正在播放久久 | 日韩精品一区二区在线视频 | 又粗又长又大又爽又黄少妇毛片 | 欧美少妇bbwhd | 插插插色综合 | 天天天综合 | 五月激情婷婷丁香 | 国产91免费观看 | 成人a视频片观看免费 | 久草免费在线 | 久久视频在线观看 | 99操视频| 超碰资源在线 | www夜夜操 | 黄色三级免费 | 日韩网站在线看片你懂的 | 三级av免费 | 日本精品一区二区三区在线播放视频 | 日韩久久精品 | .国产精品成人自产拍在线观看6 | 国产高清在线 | 91成人区 | 亚洲天堂首页 | 日本在线观看中文字幕无线观看 | 成人黄色视| 四虎影视国产精品免费久久 | 欧美性性网| 超碰成人免费电影 | 国产在线观看免费av | 免费看黄色大全 | 中文字幕影片免费在线观看 | 91视频下载 | 中文在线www | 久久影视中文字幕 | 精品一区二区免费视频 | 亚州成人av在线 | 久久精品中文字幕 | 免费观看黄 | 亚洲不卡123 | 国产综合在线观看视频 | 国产精品人人做人人爽人人添 | 玖玖视频免费在线 | 97国产精品一区二区 | 国产91探花 | 国产一级性生活视频 | 天天干天天操天天做 | 激情av综合 | 在线观看激情av | 91pony九色丨交换 | 国产精品一区在线 | 一级黄色片毛片 | 国产一级淫片在线观看 | 国产精品av一区二区 | 国产精品久久久久久吹潮天美传媒 | a级片韩国 | www.天天操.com | 三级免费黄色 | 99精品偷拍视频一区二区三区 | 中文字幕在线观看你懂的 | 日韩欧美一级二级 | 九九99靖品 | 亚洲精品日韩一区二区电影 | 麻豆视频在线免费观看 | 中国一级特黄毛片大片久久 | 中文字幕在线观看一区二区 | 五月天国产精品 | 成人午夜在线观看 | 国产成人一区二区三区在线观看 | 最近更新好看的中文字幕 | 久保带人| 91视频免费网站 | 成年人免费观看国产 | 国产成人精品女人久久久 | 日韩av网址在线 | av片中文 | 日日干 天天干 | 国产精品综合在线 | 中文字幕久久精品 | 天天操天天色天天射 | 天天玩天天干 | 色老板在线 | 激情在线五月天 | 久久国产精品色av免费看 | 成人午夜精品久久久久久久3d | 久久午夜网 | 欧美日韩1区2区 | 97在线观看免费观看 | 色网站黄| 草久在线播放 | 国产超碰在线 | 91麻豆精品国产午夜天堂 | 欧美在线视频不卡 | 久久精品国产99 | 色婷婷在线播放 | 国产精品小视频网站 | 国产精品大片免费观看 | 日韩a在线观看 | 国产精品久久久区三区天天噜 | 91av亚洲| 美女久久视频 | 亚洲午夜在线视频 | 操综合| 国产精品久久久久久久av大片 | 欧美精品久久久久久久久老牛影院 | 伊人夜夜| 天天综合91| 99热这里只有精品国产首页 | 免费试看一区 | 色小说在线 | 日日日天天天 | 欧美激情精品久久久久久 | 亚洲精品国产综合久久 | 国模一区二区三区四区 | 久久久美女| 夜夜干天天操 | 亚洲v欧美v国产v在线观看 | 国产精品久久久久久久久久久久 | 青青草在久久免费久久免费 | 美女视频一区 | 亚洲男模gay裸体gay | 91视频xxxx | 日韩高清无线码2023 | 99视频在线精品国自产拍免费观看 | 在线观看亚洲电影 | 中文永久免费观看 | 97超碰在线久草超碰在线观看 | 久久大视频 | 视频一区在线免费观看 | 国产不卡视频 | 国产探花视频在线播放 | 在线观看黄网站 | 国产 在线 日韩 | 天天干天天拍 | 日本精品二区 | 久久久久国产一区二区三区四区 | 亚洲精品tv久久久久久久久久 | 久久久综合香蕉尹人综合网 | 日本丰满少妇免费一区 | 美国av大片| 精品免费一区二区三区 | 黄网站www| 特级毛片在线 | 中文资源在线官网 | 一区三区在线欧 | 亚洲无吗天堂 | 久久影院午夜论 | 欧美久久久影院 | www色网站| 国精产品999国精产 久久久久 | 91亚洲精 |