精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

漫談 HTTP 連接的相關知識

網(wǎng)絡 通信技術
本文首先會 HTTP 的特點和優(yōu)缺點,然后會詳細介紹 HTTP 長連接和短連接的連接管理,通過閱讀本文能夠對 HTTP 連接有個深入的認識。

[[374909]]

 本文首先會 HTTP 的特點和優(yōu)缺點,然后會詳細介紹 HTTP 長連接和短連接的連接管理,通過閱讀本文能夠對 HTTP 連接有個深入的認識。


通過前面的 HTTP 系列文章,想必大家已經(jīng)知道 HTTP 協(xié)議的基本知識,了解它的報文結構,請求頭、響應頭等細節(jié)。

HTTP 的特點

所以接下來先是聊聊 HTTP 協(xié)議的特點、優(yōu)點和缺點。既要看到它好的一面,也要正視它不好的一面,只有全方位、多角度了解 HTTP,才能實現(xiàn)“揚長避短”,更好地利用 HTTP。

靈活可擴展

首先, HTTP 協(xié)議是一個“靈活可擴展”的傳輸協(xié)議。

HTTP 協(xié)議最初誕生的時候就比較簡單,本著開放的精神只規(guī)定了報文的基本格式,比如用空格分隔單詞,用換行分隔字段,“header+body”等,報文里的各個組成部分都沒有做嚴格的語法語義限制,可以由開發(fā)者任意定制。

所以,HTTP 協(xié)議就隨著互聯(lián)網(wǎng)的發(fā)展一同成長起來了。在這個過程中,HTTP 協(xié)議逐漸增加了請求方法、版本號、狀態(tài)碼、頭字段等特性。而 body 也不再限于文本形式的 TXT 或 HTML,而是能夠傳輸圖片、音頻視頻等任意數(shù)據(jù),這些都是源于它的“靈活可擴展”的特點。

而那些 RFC 文檔,實際上也可以理解為是對已有擴展的“承認和標準化”,實現(xiàn)了“從實踐中來,到實踐中去”的良性循環(huán)。

也正是因為這個特點,HTTP 才能在三十年的歷史長河中“屹立不倒”,從最初的低速實驗網(wǎng)絡發(fā)展到現(xiàn)在的遍布全球的高速互聯(lián)網(wǎng),始終保持著旺盛的生命力。

可靠傳輸

第二個特點, HTTP 協(xié)議是一個“可靠”的傳輸協(xié)議。

這個特點顯而易見,因為 HTTP 協(xié)議是基于 TCP/IP 的,而 TCP 本身是一個“可靠”的傳輸協(xié)議,所以 HTTP 自然也就繼承了這個特性,能夠在請求方和應答方之間“可靠”地傳輸數(shù)據(jù)。

它的具體做法與 TCP/UDP 差不多,都是對實際傳輸?shù)臄?shù)據(jù)(entity)做了一層包裝,加上一個頭,然后調用 Socket API,通過 TCP/IP 協(xié)議棧發(fā)送或者接收。

不過我們必須正確地理解“可靠”的含義,HTTP 并不能 100% 保證數(shù)據(jù)一定能夠發(fā)送到另一端,在網(wǎng)絡繁忙、連接質量差等惡劣的環(huán)境下,也有可能收發(fā)失敗。“可靠”只是向使用者提供了一個“承諾”,會在下層用多種手段“盡量”保證數(shù)據(jù)的完整送達。

當然,如果遇到光纖被意外挖斷這樣的極端情況,即使是神仙也不能發(fā)送成功。所以,“可靠”傳輸是指在網(wǎng)絡基本正常的情況下數(shù)據(jù)收發(fā)必定成功,借用運維里的術語,大概就是“3 個 9”或者“4 個 9”的程度吧。

應用層協(xié)議

第三個特點,HTTP 協(xié)議是一個應用層的協(xié)議。

這個特點也是不言自明的,但卻很重要。

在 TCP/IP 誕生后的幾十年里,雖然出現(xiàn)了許多的應用層協(xié)議,但它們都僅關注很小的應用領域,局限在很少的應用場景。例如 FTP 只能傳輸文件、SMTP 只能發(fā)送郵件、SSH 只能遠程登錄等,在通用的數(shù)據(jù)傳輸方面“完全不能打”。

所以 HTTP 憑借著可攜帶任意頭字段和實體數(shù)據(jù)的報文結構,以及連接控制、緩存代理等方便易用的特性,一出現(xiàn)就“技壓群雄”,迅速成為了應用層里的“明星”協(xié)議。只要不太苛求性能,HTTP 幾乎可以傳遞一切東西,滿足各種需求,稱得上是一個“萬能”的協(xié)議。

套用一個網(wǎng)上流行的段子,HTTP 完全可以用開玩笑的口吻說:“不要誤會,我不是針對 FTP,我是說在座的應用層各位,都是垃圾。”

請求 - 應答

第四個特點,HTTP 協(xié)議使用的是請求 - 應答通信模式。

這個請求 - 應答模式是 HTTP 協(xié)議最根本的通信模型,通俗來講就是“一發(fā)一收”“有來有去”,就像是寫代碼時的函數(shù)調用,只要填好請求頭里的字段,“調用”后就會收到答復。

請求 - 應答模式也明確了 HTTP 協(xié)議里通信雙方的定位,永遠是請求方先發(fā)起連接和請求,是主動的,而應答方只有在收到請求后才能答復,是被動的,如果沒有請求時不會有任何動作。

當然,請求方和應答方的角色也不是絕對的,在瀏覽器 - 服務器的場景里,通常服務器都是應答方,但如果將它用作代理連接后端服務器,那么它就可能同時扮演請求方和應答方的角色。

HTTP 的請求 - 應答模式也恰好契合了傳統(tǒng)的 C/S(Client/Server)系統(tǒng)架構,請求方作為客戶端、應答方作為服務器。所以,隨著互聯(lián)網(wǎng)的發(fā)展就出現(xiàn)了 B/S(Browser/Server)架構,用輕量級的瀏覽器代替笨重的客戶端應用,實現(xiàn)零維護的“瘦”客戶端,而服務器則擯棄私有通信協(xié)議轉而使用 HTTP 協(xié)議。

此外,請求 - 應答模式也完全符合 RPC(Remote Procedure Call)的工作模式,可以把 HTTP 請求處理封裝成遠程函數(shù)調用,導致了 WebService、RESTful 和 gPRC 等的出現(xiàn)。

無狀態(tài)

第五個特點,HTTP 協(xié)議是無狀態(tài)的。這個所謂的“狀態(tài)”應該怎么理解呢?

“狀態(tài)”其實就是客戶端或者服務器里保存的一些數(shù)據(jù)或者標志,記錄了通信過程中的一些變化信息。

你一定知道,TCP 協(xié)議是有狀態(tài)的,一開始處于 CLOSED 狀態(tài),連接成功后是 ESTABLISHED 狀態(tài),斷開連接后是 FIN-WAIT 狀態(tài),最后又是 CLOSED 狀態(tài)。

這些“狀態(tài)”就需要 TCP 在內(nèi)部用一些數(shù)據(jù)結構去維護,可以簡單地想象成是個標志量,標記當前所處的狀態(tài),例如 0 是 CLOSED,2 是 ESTABLISHED 等等。

再來看 HTTP,那么對比一下 TCP 就看出來了,在整個協(xié)議里沒有規(guī)定任何的“狀態(tài)”,客戶端和服務器永遠是處在一種“無知”的狀態(tài)。建立連接前兩者互不知情,每次收發(fā)的報文也都是互相獨立的,沒有任何的聯(lián)系。收發(fā)報文也不會對客戶端或服務器產(chǎn)生任何影響,連接后也不會要求保存任何信息。

“無狀態(tài)”形象地來說就是“沒有記憶能力”。比如,瀏覽器發(fā)了一個請求,說“我是小明,請給我 A 文件。”,服務器收到報文后就會檢查一下權限,看小明確實可以訪問 A 文件,于是把文件發(fā)回給瀏覽器。接著瀏覽器還想要 B 文件,但服務器不會記錄剛才的請求狀態(tài),不知道第二個請求和第一個請求是同一個瀏覽器發(fā)來的,所以瀏覽器必須還得重復一次自己的身份才行:“我是剛才的小明,請再給我 B 文件。”

我們可以再對比一下 UDP 協(xié)議,不過它是無連接也無狀態(tài)的,順序發(fā)包亂序收包,數(shù)據(jù)包發(fā)出去后就不管了,收到后也不會順序整理。而 HTTP 是有連接無狀態(tài),順序發(fā)包順序收包,按照收發(fā)的順序管理報文。

但不要忘了 HTTP 是“靈活可擴展”的,雖然標準里沒有規(guī)定“狀態(tài)”,但完全能夠在協(xié)議的框架里給它“打個補丁”,增加這個特性。

其他特點

除了以上的五大特點,其實 HTTP 協(xié)議還可以列出非常多的特點,例如傳輸?shù)膶嶓w數(shù)據(jù)可緩存可壓縮、可分段獲取數(shù)據(jù)、支持身份認證、支持國際化語言等。但這些并不能算是 HTTP 的基本特點,因為這都是由第一個“靈活可擴展”的特點所衍生出來的。

小結

  • HTTP 是靈活可擴展的,可以任意添加頭字段實現(xiàn)任意功能;
  • HTTP 是可靠傳輸協(xié)議,基于 TCP/IP 協(xié)議“盡量”保證數(shù)據(jù)的送達;
  • HTTP 是應用層協(xié)議,比 FTP、SSH 等更通用功能更多,能夠傳輸任意數(shù)據(jù);
  • TTP 使用了請求 - 應答模式,客戶端主動發(fā)起請求,服務器被動回復請求;
  • HTTP 本質上是無狀態(tài)的,每個請求都是互相獨立、毫無關聯(lián)的,協(xié)議不要求客戶端或服務器記錄請求相關的信息。

HTTP的連接管理

HTTP 的連接管理也算得上是個“老生常談”的話題了,你一定曾經(jīng)聽說過“短連接”“長連接”之類的名詞,今天讓我們一起來把它們弄清楚。

短連接

HTTP 協(xié)議最初(0.9/1.0)是個非常簡單的協(xié)議,通信過程也采用了簡單的“請求 - 應答”方式。

它底層的數(shù)據(jù)傳輸基于 TCP/IP,每次發(fā)送請求前需要先與服務器建立連接,收到響應報文后會立即關閉連接。

因為客戶端與服務器的整個連接過程很短暫,不會與服務器保持長時間的連接狀態(tài),所以就被稱為“短連接”(short-lived connections)。早期的 HTTP 協(xié)議也被稱為是“無連接”的協(xié)議。

短連接的缺點相當嚴重,因為在 TCP 協(xié)議里,建立連接和關閉連接都是非常“昂貴”的操作。TCP 建立連接要有“三次握手”,發(fā)送 3 個數(shù)據(jù)包,需要 1 個 RTT;關閉連接是“四次揮手”,4 個數(shù)據(jù)包需要 2 個 RTT。

而 HTTP 的一次簡單“請求 - 響應”通常只需要 4 個包,如果不算服務器內(nèi)部的處理時間,最多是 2 個 RTT。這么算下來,浪費的時間就是“3÷5=60%”,有三分之二的時間被浪費掉了,傳輸效率低得驚人。


單純地從理論上講,TCP 協(xié)議你可能還不太好理解,我就拿打卡考勤機來做個形象的比喻吧。

假設你的公司買了一臺打卡機,放在前臺,因為這臺機器比較貴,所以專門做了一個保護罩蓋著它,公司要求每次上下班打卡時都要先打開蓋子,打卡后再蓋上蓋子。

可是偏偏這個蓋子非常牢固,打開關閉要費很大力氣,打卡可能只要 1 秒鐘,而開關蓋子卻需要四五秒鐘,大部分時間都浪費在了毫無意義的開關蓋子操作上了。

可想而知,平常還好說,一到上下班的點在打卡機前就會排起長隊,每個人都要重復“開蓋 - 打卡 - 關蓋”的三個步驟,你說著急不著急。

在這個比喻里,打卡機就相當于服務器,蓋子的開關就是 TCP 的連接與關閉,而每個打卡的人就是 HTTP 請求,很顯然,短連接的缺點嚴重制約了服務器的服務能力,導致它無法處理更多的請求。

長連接

針對短連接暴露出的缺點,HTTP 協(xié)議就提出了“長連接”的通信方式,也叫“持久連接”(persistent connections)、“連接保活”(keep alive)、“連接復用”(connection reuse)。

其實解決辦法也很簡單,用的就是“成本均攤”的思路,既然 TCP 的連接和關閉非常耗時間,那么就把這個時間成本由原來的一個“請求 - 應答”均攤到多個“請求 - 應答”上。

這樣雖然不能改善 TCP 的連接效率,但基于“分母效應”,每個“請求 - 應答”的無效時間就會降低不少,整體傳輸效率也就提高了。

這里我畫了一個短連接與長連接的對比示意圖。


在短連接里發(fā)送了三次 HTTP“請求 - 應答”,每次都會浪費 60% 的 RTT 時間。而在長連接的情況下,同樣發(fā)送三次請求,因為只在第一次時建立連接,在最后一次時關閉連接,所以浪費率就是“3÷9≈33%”,降低了差不多一半的時間損耗。顯然,如果在這個長連接上發(fā)送的請求越多,分母就越大,利用率也就越高。

繼續(xù)用剛才的打卡機的比喻,公司也覺得這種反復“開蓋 - 打卡 - 關蓋”的操作太“反人類”了,于是頒布了新規(guī)定,早上打開蓋子后就不用關上了,可以自由打卡,到下班后再關上蓋子。

這樣打卡的效率(即服務能力)就大幅度提升了,原來一次打卡需要五六秒鐘,現(xiàn)在只要一秒就可以了,上下班時排長隊的景象一去不返,大家都開心。

連接相關的頭字段

由于長連接對性能的改善效果非常顯著,所以在 HTTP/1.1 中的連接都會默認啟用長連接。不需要用什么特殊的頭字段指定,只要向服務器發(fā)送了第一次請求,后續(xù)的請求都會重復利用第一次打開的 TCP 連接,也就是長連接,在這個連接上收發(fā)數(shù)據(jù)。

當然,我們也可以在請求頭里明確地要求使用長連接機制,使用的字段是 Connection,值是 “keep-alive”。

不過不管客戶端是否顯式要求長連接,如果服務器支持長連接,它總會在響應報文里放一個 “Connection: keep-alive” 字段,告訴客戶端:“我是支持長連接的,接下來就用這個 TCP 一直收發(fā)數(shù)據(jù)吧”。

不過長連接也有一些小缺點,問題就出在它的“長”字上。

因為 TCP 連接長時間不關閉,服務器必須在內(nèi)存里保存它的狀態(tài),這就占用了服務器的資源。如果有大量的空閑長連接只連不發(fā),就會很快耗盡服務器的資源,導致服務器無法為真正有需要的用戶提供服務。

所以,長連接也需要在恰當?shù)臅r間關閉,不能永遠保持與服務器的連接,這在客戶端或者服務器都可以做到。

在客戶端,可以在請求頭里加上“Connection: close”字段,告訴服務器:“這次通信后就關閉連接”。服務器看到這個字段,就知道客戶端要主動關閉連接,于是在響應報文里也加上這個字段,發(fā)送之后就調用 Socket API 關閉 TCP 連接。

服務器端通常不會主動關閉連接,但也可以使用一些策略。拿 Nginx 來舉例,它有兩種方式:

  • 使用“keepalive_timeout”指令,設置長連接的超時時間,如果在一段時間內(nèi)連接上沒有任何數(shù)據(jù)收發(fā)就主動斷開連接,避免空閑連接占用系統(tǒng)資源。
  • 使用“keepalive_requests”指令,設置長連接上可發(fā)送的最大請求次數(shù)。比如設置成 1000,那么當 Nginx 在這個連接上處理了 1000 個請求后,也會主動斷開連接。

另外,客戶端和服務器都可以在報文里附加通用頭字段“Keep-Alive: timeout=value”,限定長連接的超時時間。但這個字段的約束力并不強,通信的雙方可能并不會遵守,所以不太常見。

隊頭阻塞

看完了短連接和長連接,接下來就要說到著名的“隊頭阻塞”(Head-of-line blocking,也叫“隊首阻塞”)了。

“隊頭阻塞”與短連接和長連接無關,而是由 HTTP 基本的“請求 - 應答”模型所導致的。

因為 HTTP 規(guī)定報文必須是“一發(fā)一收”,這就形成了一個先進先出的“串行”隊列。隊列里的請求沒有輕重緩急的優(yōu)先級,只有入隊的先后順序,排在最前面的請求被最優(yōu)先處理。

如果隊首的請求因為處理的太慢耽誤了時間,那么隊列里后面的所有請求也不得不跟著一起等待,結果就是其他的請求承擔了不應有的時間成本。

還是用打卡機做個比喻。

 

上班的時間點上,大家都在排隊打卡,可這個時候偏偏最前面的那個人遇到了打卡機故障,怎么也不能打卡成功,急得滿頭大汗。等找人把打卡機修好,后面排隊的所有人全遲到了。

性能優(yōu)化

因為“請求 - 應答”模型不能變,所以“隊頭阻塞”問題在 HTTP/1.1 里無法解決,只能緩解,有什么辦法呢?

公司里可以再多買幾臺打卡機放在前臺,這樣大家可以不用擠在一個隊伍里,分散打卡,一個隊伍偶爾阻塞也不要緊,可以改換到其他不阻塞的隊伍。

這在 HTTP 里就是“并發(fā)連接”(concurrent connections),也就是同時對一個域名發(fā)起多個長連接,用數(shù)量來解決質量的問題。

但這種方式也存在缺陷。如果每個客戶端都想自己快,建立很多個連接,用戶數(shù)×并發(fā)數(shù)就會是個天文數(shù)字。服務器的資源根本就扛不住,或者被服務器認為是惡意攻擊,反而會造成“拒絕服務”。

所以,HTTP 協(xié)議建議客戶端使用并發(fā),但不能“濫用”并發(fā)。RFC2616 里明確限制每個客戶端最多并發(fā) 2 個連接。不過實踐證明這個數(shù)字實在是太小了,眾多瀏覽器都“無視”標準,把這個上限提高到了 6~8。后來修訂的 RFC7230 也就“順水推舟”,取消了這個“2”的限制。

但“并發(fā)連接”所壓榨出的性能也跟不上高速發(fā)展的互聯(lián)網(wǎng)無止境的需求,還有什么別的辦法嗎?

公司發(fā)展的太快了,員工越來越多,上下班打卡成了迫在眉睫的大問題。前臺空間有限,放不下更多的打卡機了,怎么辦?那就多開幾個打卡的地方,每個樓層、辦公區(qū)的入口也放上三四臺打卡機,把人進一步分流,不要都往前臺擠。

這個就是“域名分片”(domain sharding)技術,還是用數(shù)量來解決質量的思路。

HTTP 協(xié)議和瀏覽器不是限制并發(fā)連接數(shù)量嗎?好,那我就多開幾個域名,比如 shard1.chrono.com、shard2.chrono.com,而這些域名都指向同一臺服務器 www.chrono.com,這樣實際長連接的數(shù)量就又上去了,真是“美滋滋”。不過實在是有點“上有政策,下有對策”的味道。

小結

這一講中我們學習了 HTTP 協(xié)議里的短連接和長連接,簡單小結一下今天的內(nèi)容:

  • 早期的 HTTP 協(xié)議使用短連接,收到響應后就立即關閉連接,效率很低;
  • HTTP/1.1 默認啟用長連接,在一個連接上收發(fā)多個請求響應,提高了傳輸效率;
  • 服務器會發(fā)送“Connection: keep-alive”字段表示啟用了長連接;
  • 報文頭里如果有“Connection: close”就意味著長連接即將關閉;
  • 過多的長連接會占用服務器資源,所以服務器會用一些策略有選擇地關閉長連接;
  • “隊頭阻塞”問題會導致性能下降,可以用“并發(fā)連接”和“域名分片”技術緩解。

 

責任編輯:姜華 來源: 一口Linux
相關推薦

2010-04-20 15:13:08

負載均衡

2010-01-04 16:18:13

ADO.NET連接池

2015-09-17 10:29:07

Http網(wǎng)絡協(xié)議X-Forwarded

2015-09-16 13:11:52

Http網(wǎng)絡協(xié)議Proxy-Conne

2010-01-04 14:18:02

ADO Command

2015-09-16 09:50:35

HTTP 網(wǎng)絡協(xié)議響應頭

2009-09-14 09:49:07

CCNA認證CCNA

2010-01-06 10:18:02

JSON類

2019-04-15 14:37:23

HTTPTCP長連接

2010-01-04 14:40:51

ADO 檢索

2010-09-28 11:48:36

SQL NULL值

2010-01-05 16:26:33

Javascript

2020-10-13 14:15:22

HTTPHTTP請求方法

2010-03-30 18:04:45

Nginx http服

2009-07-06 10:43:51

ADO.NET

2010-05-27 15:04:09

IPv6網(wǎng)絡

2019-04-02 08:36:12

2019-12-13 09:14:35

HTTP2協(xié)議

2013-11-11 18:19:44

信息時代知識工程

2009-01-11 09:14:45

Javascript開發(fā)總結
點贊
收藏

51CTO技術棧公眾號

亚洲欧洲精品视频| 99自拍视频在线| abab456成人免费网址| 中文欧美字幕免费| 91国产在线播放| www.国产色| 久久中文字幕av一区二区不卡| 欧美日本在线播放| 九一国产精品视频| 欧美成人视屏| 99久久伊人久久99| 成人免费网站在线看| 日本中文字幕网| 精品国产一区一区二区三亚瑟 | 中日韩av在线| 黄色国产精品| 色偷偷91综合久久噜噜| 色天使在线视频| 999精品嫩草久久久久久99| 午夜av一区二区| 国产精品美女在线播放| 牛牛热在线视频| 岛国精品一区二区| 91精品久久久久久| 手机av免费观看| 国产精品久久久亚洲一区| 久久久国产精品亚洲一区| 少妇精品一区二区三区| 99a精品视频在线观看| 欧美高清视频在线高清观看mv色露露十八| 波多野结衣综合网| 污视频免费在线观看| 国产精品久久三区| 日韩精品无码一区二区三区| 亚洲色偷精品一区二区三区| 国产高清视频一区| 91精品久久久久久久久久另类 | 99国产精品视频免费观看一公开| 日韩中文字幕网| 久久久久久久久久久久| 欧美精品国产白浆久久久久| 精品久久久久av影院| 青娱乐国产精品视频| 亚洲精品66| 欧美亚洲一区二区在线观看| 日韩欧美黄色大片| 悠悠资源网亚洲青| 五月激情六月综合| 欧美精品卡一卡二| 欧美hdxxx| 亚洲一区二区中文在线| 7777在线视频| 国产在线激情| 亚洲美女精品一区| 韩国黄色一级大片| 欧美大胆的人体xxxx| 一级女性全黄久久生活片免费| 2021狠狠干| 午夜伦理在线视频| 亚洲一区二区三区视频在线播放 | 欧美黄色一级生活片| 欧美激情在线精品一区二区三区| 亚洲精品一区久久久久久| 99re久久精品国产| 你微笑时很美电视剧整集高清不卡| 日韩av最新在线观看| 国产精品1000部啪视频| 国产一区二区在线| 久久精品国产96久久久香蕉| 婷婷伊人五月天| 亚洲小说区图片区| 8090成年在线看片午夜| 免费黄色av片| 九九视频精品免费| 99精品国产一区二区| 亚洲区小说区图片区| 久久精品欧美一区二区三区不卡| 日韩在线观看电影完整版高清免费| 国产露出视频在线观看| 中文字幕亚洲一区二区av在线| 91精品一区二区三区四区| 免费看电影在线| 欧美视频在线看| www午夜视频| 91精品丝袜国产高跟在线| 亚洲免费视频网站| 亚洲一二三在线观看| 伊人成人在线视频| 国产精品成人一区二区| 国产美女永久免费| 99久久国产综合精品麻豆| 日韩av一级大片| 三级福利片在线观看| 日韩欧美国产免费播放| 一级 黄 色 片一| 日韩av黄色在线| 少妇av一区二区三区| 国产在线观看免费视频今夜| 日韩国产成人精品| 超碰97国产在线| 国内在线免费高清视频| 一区二区三区久久| 无人在线观看的免费高清视频| 麻豆国产一区| 在线观看亚洲视频| 日本污视频在线观看| 久久福利视频一区二区| 国精产品一区二区| av毛片在线| 欧美影院一区二区| 91黄色免费视频| 欧美日韩18| 国产精品亚洲片夜色在线| 欧美一级性视频| 亚洲男同1069视频| 亚洲xxxx2d动漫1| 亚洲区小说区| 久久久亚洲影院你懂的| 国产精品久久久久毛片| 久久久精品一品道一区| 国产男女免费视频| 精品麻豆剧传媒av国产九九九| 亚洲网站在线观看| 日韩免费视频一区二区视频在线观看| 韩日欧美一区二区三区| 少妇免费毛片久久久久久久久| 草草在线观看| 欧美videossexotv100| 亚洲欧美精品久久| 欧美bbbbb| 欧美久久电影| 成人国产二区| 亚洲黄色免费三级| 成人免费看片98| 国产寡妇亲子伦一区二区| 这里只有精品66| 国产一区二区三区四区五区3d| 亚洲人精品午夜在线观看| 国产成人无码精品久久久久| 成人的网站免费观看| 日本一本中文字幕| av自拍一区| 午夜精品在线视频| 四虎在线视频免费观看| 亚洲动漫第一页| 亚洲一区和二区| 欧美特黄一区| 国产精品夜夜夜一区二区三区尤| a级片国产精品自在拍在线播放| 欧美日韩亚洲另类| 99热6这里只有精品| 久久99精品久久久久久动态图| 伊人久久大香线蕉av一区| 亚洲高清影院| 久久99久国产精品黄毛片入口| 精品国产99久久久久久宅男i| 亚洲美女视频一区| 成人做爰69片免费| 中文亚洲免费| 日本一区二区三区视频在线观看| 少妇精品视频一区二区免费看| 国产一区二区三区在线视频| 这里只有精品9| 亚洲美女偷拍久久| 91黄色免费视频| 日本女人一区二区三区| 在线观看日韩羞羞视频| 亚洲精品一二三**| 91精品国产高清久久久久久久久| 免费成人av电影| 欧美日韩五月天| 国产亚洲精品成人| 久久久久久久一区| av免费一区二区| 亚洲国产片色| 婷婷亚洲婷婷综合色香五月| 亚洲一区av| 亚洲 日韩 国产第一| www.91在线| 日韩女优av电影在线观看| 日韩成年人视频| 国产片一区二区三区| 在线观看av免费观看| 日韩视频二区| 在线视频91| 国产主播性色av福利精品一区| 国产精品成人aaaaa网站| 18av在线视频| 亚洲视频一区二区| 午夜老司机福利| 日本丰满少妇一区二区三区| 手机在线免费看片| 久久女同精品一区二区| 国产传媒免费观看| 国产毛片一区| 可以在线看黄的网站| 中文精品一区二区| 99re在线视频上| 外国电影一区二区| 久久久久久欧美| 欧洲日本在线| 亚洲欧美国产精品久久久久久久| 国产喷水福利在线视频| 色婷婷综合在线| 精品一区二区三区四| 国产精品麻豆视频| 欧美bbbbb性bbbbb视频| 国产麻豆精品在线| 国产又大又黄又粗又爽| 亚洲日本国产| 好吊色视频988gao在线观看| 成人影院天天5g天天爽无毒影院| 国产伦精品一区二区| 91麻豆精品一二三区在线| 欧美亚洲第一区| 欧美xxxx免费虐| 久久精品久久久久久| 国产中文字幕在线看| 精品日韩99亚洲| 国产日韩欧美视频在线观看| 欧美无砖专区一中文字| 区一区二在线观看| 欧美日韩国产精品一区二区不卡中文| 加勒比婷婷色综合久久| 国产精品女主播av| 欧美做受xxxxxⅹ性视频| 不卡欧美aaaaa| 日本一区二区免费视频| 国产黄色精品视频| 黄色片免费网址| 久久99精品国产.久久久久久| 九色porny91| 日韩不卡免费视频| 动漫av免费观看| 日韩精品一区第一页| 日韩a在线播放| 免费视频一区二区三区在线观看| 男人的天堂狠狠干| 国产欧美不卡| www.亚洲天堂网| 久久黄色网页| 99视频在线免费| 男女男精品网站| 免费看涩涩视频| 久草这里只有精品视频| 久久久久久综合网| 国产精品一区二区不卡| 91免费视频污| 国产在线精品国自产拍免费| 天天av天天操| 国产精品911| 中文在线观看免费视频| 波多野结衣在线aⅴ中文字幕不卡| 9.1在线观看免费| 2020国产精品久久精品美国| a视频免费观看| 国产视频一区二区在线| 久久免费手机视频| 亚洲美女屁股眼交| 日韩精品久久久久久久酒店| 欧美性猛交丰臀xxxxx网站| 国产91av在线播放| 欧美日韩久久久一区| 97久久人国产精品婷婷| 日韩免费在线观看| 日韩一级免费视频| 亚洲天堂男人的天堂| 麻豆传媒在线完整视频| 欧美夫妻性生活视频| 色一区二区三区| 国产精品偷伦视频免费观看国产 | 久久久一本精品99久久精品66| 影视先锋久久| 一区二区三区四区五区精品 | 97精品国产97久久久久久| 中文字幕在线视频网站| 国产精品午夜视频| 日本一区精品视频| 久久久神马电影| 2023国产精品久久久精品双| www精品久久| 秋霞午夜av一区二区三区| 国产精品偷伦视频免费观看了| 91麻豆蜜桃一区二区三区| 国产精品www爽爽爽| 亚洲在线中文字幕| 午夜精品久久久久久久蜜桃| 欧美一区二区三区视频在线 | 国产无遮挡裸体免费久久| 欧美日韩在线精品| 欧美不卡一区| 国产淫片av片久久久久久| 国产精品自拍一区| 亚洲区自拍偷拍| 亚洲一区二区在线观看视频| 国产日韩在线免费观看| 日韩精品一区二区在线观看| 成年人视频在线看| 高清欧美性猛交| 欧美视频免费看| 欧美福利精品| 国产精品va| 一起操在线视频| 久久久精品欧美丰满| 久久免费小视频| 欧美精品少妇一区二区三区| 欧美91精品久久久久国产性生爱| 麻豆国产精品va在线观看不卡 | 欧美日韩高清免费| 欧美日韩1080p| 三级一区二区三区| 久久久精品免费观看| 国产精品黄色网| 欧美成人精品二区三区99精品| 伊人免费在线| 国产成人精品免高潮费视频| 欧美sss在线视频| av女优在线播放| 国产精品996| 91视频综合网| 欧美区在线观看| 成人高清在线| 国产成人一区二区三区| 久久久伦理片| av日韩一区二区三区| 国产一级精品在线| 顶级黑人搡bbw搡bbbb搡| 日本精品免费观看高清观看| 欧美日韩在线中文字幕| 午夜精品久久久久久久久久久久| 国产欧美日韩电影| 亚洲国产精品影视| 韩国视频一区二区| 中文字幕观看av| 欧美老女人在线| 免费在线观看av片| 成人免费视频网| 婷婷综合网站| 欧美高清精品一区二区| 亚洲三级理论片| av av片在线看| 欧美裸体xxxx极品少妇| 亚洲91网站| 国产成人永久免费视频| 成人激情校园春色| 国产成年人免费视频| 亚洲精品按摩视频| 欧美xxxhd| 日本一区二区在线视频| 视频一区中文字幕国产| 亚洲精品午夜视频| 欧美日韩国产一二三| 日韩av中文| 成人动漫视频在线观看完整版| 亚洲小说欧美另类社区| 精品夜夜澡人妻无码av| 欧美在线免费视屏| 日本网站在线免费观看视频| 成人欧美一区二区三区在线 | 九九热精品在线| 97品白浆高清久久久久久| 日日摸日日碰夜夜爽无码| 91麻豆免费在线观看| 中文字幕免费高清在线观看| 俺去亚洲欧洲欧美日韩| 99精品在免费线中文字幕网站一区 | 五月婷婷在线播放| 国产精品高潮粉嫩av| 91嫩草亚洲精品| 成年人看片网站| 欧美午夜视频一区二区| sese在线视频| 亚洲一区二区三区在线视频 | 国产成人一区二区三区电影| 欧美国产偷国产精品三区| 4438x全国最大成人| 欧美天堂在线观看| av网站在线免费观看| 91精品免费| 久久国产精品毛片| 永久免费看片直接| 亚洲高清一二三区| jizz亚洲女人高潮大叫| 国产精品视频网站在线观看| 久久综合久久鬼色| 国产毛片一区二区三区va在线 | k8久久久一区二区三区| 天天爽夜夜爽人人爽| 久久的精品视频| 香蕉一区二区| wwwxxxx在线观看| 91福利区一区二区三区| 在线视频国产区| 日韩福利视频| 成人黄色大片在线观看 | 蜜桃91丨九色丨蝌蚪91桃色| 免费一级片在线观看| 在线观看国产精品91| 麻豆一区二区| 中文字幕在线视频一区二区|