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

深入分析 Tomcat 原理

開發(fā) 架構(gòu)
隨著互聯(lián)網(wǎng)發(fā)展,往往更多的是需要?jiǎng)討B(tài)的交互。所以 Sun 公司推出了 Servlet 技術(shù):servlet 規(guī)范!目前最新是 Servlet 4.0 ,它支持 HTTP2.0!

早期Web容器早期的 Web 應(yīng)用主要用于瀏覽新聞等靜態(tài)頁面,HTTP 服務(wù)器(比如 Apache、Nginx)向?yàn)g覽器返回靜態(tài) HTML,瀏覽器負(fù)責(zé)解析 HTML,將結(jié)果呈現(xiàn)給用戶。

Servlet規(guī)范

隨著互聯(lián)網(wǎng)發(fā)展,往往更多的是需要?jiǎng)討B(tài)的交互。所以 Sun 公司推出了 Servlet 技術(shù):servlet 規(guī)范!目前最新是 Servlet 4.0 ,它支持 HTTP2.0!

符合 Servlet 規(guī)范的 Web 流程:由 Servlet 容器來創(chuàng)建和管理 Servlet,客戶端的請(qǐng)求 會(huì)被封裝成 ServletRequest 和 ServletResponse,其本質(zhì)上就是對(duì)通信協(xié)議的封裝。

Tomcat簡(jiǎn)介

Tomcat 就是一個(gè) Servlet 容器,實(shí)現(xiàn)了對(duì) Servlet 和 JavaServer Page(JSP)的支持。同時(shí),它還具有 HTTP 服務(wù)器的功能。所以,「Tomcat = HTTP服務(wù)器 + Servlet容器」,一般我們給這種組件稱為:「輕量級(jí)web容器」!

Tomcat架構(gòu)

Tomcat-Server

  • 「Server」:一個(gè) Server 就是一個(gè) Tomcat 實(shí)例,下載 Tomcat 壓縮包,執(zhí)行 /bin/startup.sh,就可以啟動(dòng)一個(gè) Tomcat 實(shí)例。
  • 「Service」:一個(gè)對(duì)外服務(wù)的整體,它包括多個(gè) Connector 和一個(gè) Engine。同時(shí),一個(gè) Server 可以配置多個(gè) Service。實(shí)際上 Service 只是將組件組合到一起,本身并沒有實(shí)現(xiàn)什么功能。

Tomcat-連接器

連接器,啟動(dòng) ServerSocket,負(fù)責(zé)監(jiān)聽 Socket 請(qǐng)求,將數(shù)據(jù)轉(zhuǎn)換成 Tomcat Request,交給 Engine 處理。一個(gè) Service 可以有多個(gè) Connector,表示它可以監(jiān)聽多個(gè)端口。

Tomcat-容器

即 Servlet 容器,它是 Tomcat 容器的最頂層組件,它會(huì)管理多個(gè)虛擬主機(jī) Host,一個(gè) Service 只能有一個(gè) Engine,但是一個(gè) Engine 可以配置多個(gè) Host。Tomcat 的 Servlet 容器是具有明顯的分層架構(gòu)的。

  • 「Host」:虛擬主機(jī),默認(rèn)為 localhost,也就是 127.0.0.1。也可以配置不同的 IP 地址,訪問不同的 IP 地址就可以訪問到不同的虛擬主機(jī)。一個(gè) Host 可以部署多個(gè) Context。
  • 「Context」:應(yīng)用程序,一般會(huì)把我們實(shí)現(xiàn)的 Servlet 應(yīng)用打包成 war,放到 Tomcat 的 webapps 目錄下,Tomcat 會(huì)將其解壓并部署映射成一個(gè) Context 組件,表示一個(gè)應(yīng)用上下文。一個(gè) Context 可以管理多個(gè) Wrapper,畢竟一個(gè) web 應(yīng)用肯定有多個(gè) Servlet。
  • 「Wrapper」:這個(gè)組件 Tomcat 配置文件并沒有,因?yàn)樗窃?web.xml 配置,它就是 Servlet。確切地說,是 Tomcat 用 Wrapper 包裹了我們自己實(shí)現(xiàn)的 Servlet。一個(gè)請(qǐng)求最終就會(huì)到 Wrapper 來執(zhí)行。

Tomcat生命周期管理

「Tomcat 設(shè)計(jì)眾多組件來保證高內(nèi)聚低耦合,保證可擴(kuò)展性」。但是,組件數(shù)量多也會(huì)帶來其它問題,比如組件的管理,在啟動(dòng)、關(guān)閉和銷毀需要涉及多個(gè)組件的操作。Tomcat 設(shè)計(jì)了 LifeCycle 接口,它定義生命周期鉤子函數(shù):init()、start()、stop() 和 destroy(),組件都實(shí)現(xiàn)這個(gè)接口,定義自己的處理邏輯。并且,上層組件在觸發(fā)自己生命周期鉤子函數(shù)的同時(shí),會(huì)觸發(fā)它管理的下層組件的鉤子函數(shù)。其實(shí)國(guó)外設(shè)計(jì)框架很喜歡設(shè)計(jì)這個(gè) LifeCycle 接口,新版 Apache Dubbo 也加入了這一特性。

Tomcat 在實(shí)現(xiàn)組件生命周期管理,充分利用了「組合模式、觀察者模式和模板模式」。

  • 「組合模式」:Tomcat 通過組合模式,用上層組件來管理它下一級(jí)組件,每個(gè)組件都是這樣的管理方式。這樣暴露給用戶的是,只需要對(duì)一個(gè)組件進(jìn)行訪問,則可以達(dá)到一個(gè)完整系統(tǒng)調(diào)用的一致性效果。以 Tomcat 最頂級(jí)的組件 Server 來看,它的 init() 方法:
  • 「觀察者模式」:Tomcat 考慮自身的可擴(kuò)展性,避免版本升級(jí)就得修改生命周期鉤子函數(shù),它引入了監(jiān)聽器 LifecycleListener 和 LifecycleState。它設(shè)計(jì)了一套貫穿組件生命周期全過程的狀態(tài)集合,例如:當(dāng)組件剛創(chuàng)建則處于 NEW 狀態(tài),調(diào)用了 init() 方法處于 INITIALIZED 狀態(tài)...在調(diào)用生命周期方法的前后,會(huì)改變組件的狀態(tài),而狀態(tài)的改變會(huì)被封裝成為一個(gè)個(gè)事件 LifecycleEvent,由監(jiān)聽器來處理這些事件。
  • 「模板模式」:主要體現(xiàn)了代碼實(shí)現(xiàn)上,實(shí)際上狀態(tài)的轉(zhuǎn)變、事件的創(chuàng)建以及監(jiān)聽器的回調(diào),這些操作其實(shí)沒有必要在每個(gè)組件中自己實(shí)現(xiàn),這會(huì)造成重復(fù)代碼。Tomcat 在實(shí)現(xiàn)這個(gè)功能的時(shí)候,把這些通用邏輯抽象了出來,定義為一個(gè) LifecycleBase 抽象類,它會(huì)定義骨架方法,比如 init() 方法。

Tomcat連接器

Tomcat 連接器,用來監(jiān)聽 Socket 連接,將 TCP 底層的字節(jié)流數(shù)據(jù),轉(zhuǎn)換為 Request 和 Response;連接器主要有3個(gè)組件:「EndPoint、Processor、Adapter」。

  • ?「Endpoint」 負(fù)責(zé)提供字節(jié)流給 Processor。
  • 「Processor」 負(fù)責(zé)提供 Tomcat Request 對(duì)象給 Adapter。
  • 「Adapter」 負(fù)責(zé)轉(zhuǎn)換 ServletRequest 對(duì)象給容器。

其中,Tomcat 將 EndPoint 和 Processor 組合到一起,組成了 ProtocolHandler,這其實(shí)就是一種組合設(shè)計(jì)模式的使用。

Tomcat連接器-NioEndpoint

「Tomcat 使用 NioEndPoint 基于 java 的 nio 包實(shí)現(xiàn)了 I/O 多路復(fù)用模型」,主要包含了 LimitLatch、Acceptor、Poller、SocketProcessor 和 Executor 共 5 個(gè)組件。它的工作過程如下:

  1. 「LimitLatch」:負(fù)責(zé)控制最大連接數(shù),NIO 模式下默認(rèn)是 10000,達(dá)到這個(gè)閾值后,連接請(qǐng)求被拒絕。它是基于 AQS 實(shí)現(xiàn),原理就跟 Lock 一樣。
  2. 「Acceptor」:獨(dú)立線程,不斷調(diào)用 ServerSocketChannel 的 accept() 方法來接收新連接,一旦有新的連接請(qǐng)求到來,返回 SocketChannel 對(duì)象,然后將其封裝在一個(gè) PollerEvent 對(duì)象中,并將 PollerEvent 對(duì)象壓入 Poller 的 Queue 里(「典型的生產(chǎn)者 - 消費(fèi)者模式」)。
  3. 「Poller」:獨(dú)立運(yùn)行在一個(gè)線程里,底層就是一個(gè) Selector,每個(gè) Poller 線程可能同時(shí)被多個(gè) Acceptor 線程調(diào)用來注冊(cè) PollerEvent。Poller 不斷的通過內(nèi)部的 Selector 對(duì)象向內(nèi)核查詢 Channel 的狀態(tài),一旦可讀就生成任務(wù)類 SocketProcessor 交給 Executor 去處理。
  4. 「SocketProcessor」:實(shí)現(xiàn)了 Runable 接口,主要是調(diào)用 Http11Processor 來處理請(qǐng)求。Tomcat 會(huì)將 Socket 包裝成一個(gè) SocketWrapper,Http11Processor 會(huì)調(diào)用 SocketWrapper 來讀寫數(shù)據(jù)。
  5. 「Executor」:自定義的線程池,負(fù)責(zé)運(yùn)行 SocketProcessor ,會(huì)調(diào)用 Http11Processor 來讀取和解析請(qǐng)求數(shù)據(jù)。Http11Processor 是應(yīng)用層協(xié)議的封裝,它會(huì)調(diào)用容器獲得響應(yīng),再把響應(yīng)通過 Channel 寫出。

Tomcat連接器-Nio2Endpoint

Tomcat 還支持了異步 I/O,基于 Java AIO 實(shí)現(xiàn) - Nio2Endpoint 的組件跟 NioEndpoint 類似,但是 Nio2Endpoint 中沒有 Poller 組件,也就是沒有 Selector。這是因?yàn)樵诋惒?I/O 模式下,Selector 的工作交給內(nèi)核來做了。

  • LimitLatch」:跟 NioEndPoint 一樣,連接控制器,它負(fù)責(zé)控制最大連接數(shù)。
  • 「Nio2Acceptor」:擴(kuò)展了 Acceptor,自己就是處理連接的回調(diào)類,用異步 I/O 的方式來接收新連接后,得到一個(gè) AsynchronousSocketChannel,它會(huì)將其封裝成一個(gè) Nio2SocketWrapper,并創(chuàng)建一個(gè)SocketProcessor 任務(wù)類交給線程池處理。
  • 「Nio2SocketWrapper」:實(shí)際讀取 Channel 內(nèi)的數(shù)據(jù),并提供接口給 Http11Processor 讀寫。但是由于異步 I/O 的性質(zhì),Http11Processor 讀取 Nio2SocketWrapper 時(shí)很有可能內(nèi)核還沒有將數(shù)據(jù)準(zhǔn)備好,為了解決這個(gè)問題,Http11Processor 采用了2次 read 調(diào)用:通過注冊(cè)回調(diào)類 readCompletionHandler。

最后

其實(shí) Tomcat 的實(shí)現(xiàn)細(xì)節(jié)很多,沒辦法一一重現(xiàn),大部分情況下需要自己去對(duì)著源碼跑一遍,像很多實(shí)際運(yùn)用:

  • ContainerBackgroundProcessor,實(shí)現(xiàn)熱更新機(jī)制:熱加載和熱部署。
  • 對(duì)象池技術(shù),典型的以空間換時(shí)間的思路,通過 SynchronizedStack 減少 SocketWrapper 和SocketProcessor 的創(chuàng)建和銷毀。
  • Servlet 3.0 中引入的異步 Servlet,Tomcat 對(duì)其做了支持,它的思想是:讓業(yè)務(wù)線程和 Tomcat I/O 線程分離開,將復(fù)雜耗時(shí)的業(yè)務(wù)計(jì)算移到業(yè)務(wù)線程池中進(jìn)行,釋放 Tomcat的I/O 線程,以便可以及時(shí)響應(yīng)其它請(qǐng)求。
  • 會(huì)話管理...
  • 集群管理...
責(zé)任編輯:姜華 來源: Java架構(gòu)師進(jìn)階編程
相關(guān)推薦

2025-09-16 10:57:31

2009-11-13 13:08:19

2010-09-07 14:21:22

PPPoE協(xié)議

2011-03-23 11:01:55

LAMP 架構(gòu)

2010-03-08 14:53:48

Linux分區(qū)

2023-02-01 08:13:30

Redis內(nèi)存碎片

2011-09-01 13:51:52

JavaScript

2009-12-16 16:39:01

Visual Stud

2009-06-10 18:12:38

Equinox動(dòng)態(tài)化OSGi動(dòng)態(tài)化

2009-12-14 14:50:46

Ruby傳參數(shù)

2021-10-29 16:36:53

AMSAndroidActivityMan

2022-08-30 07:00:18

執(zhí)行引擎Hotspot虛擬機(jī)

2022-03-17 10:24:28

JavaJVM

2017-02-27 10:43:07

Javasynchronize

2009-12-22 15:39:36

IPPBX技術(shù)

2011-09-13 09:08:22

架構(gòu)

2018-12-18 10:11:37

軟件復(fù)雜度軟件系統(tǒng)軟件開發(fā)

2013-11-14 17:02:41

Android多窗口

2023-08-07 07:44:44

2021-04-13 12:55:06

SpringMVC解析器接口
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

91在线高清视频| 亚洲欧美日韩区| 成人在线免费高清视频| 亚洲av无码一区二区乱子伦| 激情亚洲网站| 日韩成人av在线播放| 国产日韩一区二区在线| 在线观看麻豆| 国产精品1024| 国产aⅴ夜夜欢一区二区三区 | 精品一区二区三区免费播放| 久久69精品久久久久久久电影好 | 欧美日韩 一区二区三区| 91影院成人| 亚洲国产欧美一区| 日本 片 成人 在线| 日本成人不卡| 国产欧美视频一区二区| www久久99| 亚洲手机在线观看| 夜夜夜久久久| 久久夜精品香蕉| 波多野结衣 在线| 国产精品美女午夜爽爽| 午夜欧美2019年伦理| 亚洲欧美99| 天堂√在线中文官网在线| 精品在线亚洲视频| 欧美又大粗又爽又黄大片视频| 91杏吧porn蝌蚪| 久草在线成人| 精品国产一区二区三区忘忧草 | 欧美大片在线观看一区| 免费看污污网站| 麻豆免费版在线观看| 中文字幕在线一区二区三区| 欧美精品尤物在线| 国产成人三级在线观看视频| 精品亚洲欧美一区| 国产成人精品a视频一区www| 日韩免费一二三区| 午夜欧美精品久久久久久久| 日韩中文娱乐网| 精品无人区无码乱码毛片国产 | 日韩视频在线播放| 天天操天天干天天舔| 国产盗摄精品一区二区三区在线| 国产区精品在线观看| 成人黄色三级视频| 亚久久调教视频| 欧美中文字幕视频| 中文字幕激情小说| 最新日韩av| 久久全国免费视频| 日韩精品视频免费看| 亚洲调教视频在线观看| 久久99青青精品免费观看| 日韩国产第一页| 99热国内精品永久免费观看| 日韩在线观看av| 欧美一级特黄高清视频| 久久综合国产| 日韩网站在线观看| 中文字幕无码日韩专区免费| 午夜精品久久久久久久四虎美女版| 伊人久久五月天| 91导航在线观看| 999视频精品| 超碰91人人草人人干| 欧美激情一区二区视频| 精品91在线| 88xx成人精品| 亚洲第一网站在线观看| 日韩精品欧美成人高清一区二区| 国产精品免费视频久久久| 中文字幕一区二区三区免费看| 久久精品国产网站| 亚洲永久在线观看| 熟妇高潮一区二区高潮| 95精品视频在线| 日韩福利影院| 麻豆影视国产在线观看| 一区二区三区在线看| 欧美日韩不卡在线视频| 手机在线理论片| 欧洲av在线精品| 搡的我好爽在线观看免费视频| 精品国产亚洲一区二区三区在线 | 亚洲97av| 中文字幕无线精品亚洲乱码一区| 午夜精品福利在线视频| 亚洲区欧美区| 国产精品久久99久久| 国产视频一区二区三| av在线播放一区二区三区| 日本不卡一区| 亚洲制服国产| 一本大道久久a久久精品综合| 中文字幕国产免费| 国产调教精品| 日韩中文在线不卡| 99热在线观看免费精品| 韩国av一区二区三区| 国产一级特黄a大片99| 成黄免费在线| 亚洲福中文字幕伊人影院| www.色就是色| 风间由美性色一区二区三区四区 | 非洲一级黄色片| 亚洲高清影视| 日韩免费观看高清| www.爱爱.com| 国产精品系列在线| 青青草成人免费在线视频| 免费一区二区三区四区| 日韩av在线看| 中文字幕影音先锋| 青青青伊人色综合久久| 国产日产精品一区二区三区四区| 天天在线视频色| 精品久久中文字幕| 免费成人黄色大片| 久草成人在线| 午夜精品久久久久久99热| 97精品久久人人爽人人爽| 91丨porny丨在线| 日韩欧美视频免费在线观看| 国产亚洲人成a在线v网站| 亚洲男人天堂2024| www..com国产| 丁香激情综合五月| 天天操天天干天天玩| 日本一区免费网站| 亚洲国产欧美一区二区丝袜黑人| 在线观看美女av| 日本网站在线观看一区二区三区| 鲁鲁狠狠狠7777一区二区| 青青草原av在线| 欧美日韩电影在线播放| 免费视频91蜜桃| 久久精品免费| 久久偷看各类wc女厕嘘嘘偷窃| 色www永久免费视频首页在线| 欧美日韩国产片| 蜜臀久久99精品久久久久久| 久久中文在线| 欧美日韩一区综合| 综合另类专区| 亚洲欧美激情一区| 日韩污视频在线观看| 成人99免费视频| 妞干网在线播放| 在线免费观看亚洲| 久热精品视频在线观看| 国产丝袜视频在线观看| 亚洲美女偷拍久久| 亚洲精品久久久久久| 欧美另类综合| 国产精品久久精品国产| 俄罗斯一级**毛片在线播放| 精品处破学生在线二十三| 精品亚洲永久免费| 成人av综合一区| 浮妇高潮喷白浆视频| 四虎5151久久欧美毛片| 欧美在线免费看| 国产精品影院在线| 欧洲激情一区二区| 三级全黄做爰视频| 国产精品一卡二卡| 无码 制服 丝袜 国产 另类| 国产主播性色av福利精品一区| 国语自产在线不卡| 日本v片在线免费观看| 在线免费精品视频| 久久久久人妻一区精品色| 国内成人免费视频| 久久99久久99精品| 久草在线成人| 91久久久久久久久久久久久| 日本大胆在线观看| 亚洲另类激情图| 一本久道久久综合无码中文| 一区二区在线观看免费| 欲求不满的岳中文字幕| 日韩电影一区二区三区四区| 蜜臀av.com| 色天天色综合| 国产自产女人91一区在线观看| 亚洲精品一线| 亚洲精品在线视频| 国产精品乱码久久久| 亚洲国产成人精品视频| 性猛交ⅹxxx富婆video | 四虎成人精品永久免费av九九| 91精品视频网站| av手机免费在线观看| 国产一区二区三区三区在线观看 | 日本在线一区| 欧美日本三级| 日本国产一区二区三区| а√天堂资源地址在线下载| 日韩av在线免费看| 91麻豆视频在线观看| 欧美日韩亚洲精品内裤| 日韩在线不卡av| 26uuuu精品一区二区| 自拍一级黄色片| 久久久亚洲一区| 日本大片免费看| 99tv成人| 蜜桃精品久久久久久久免费影院| 国产精品99久久免费| 欧洲亚洲女同hd| 伦理av在线| 久久久97精品| 成年午夜在线| 日韩av网站电影| 精品久久久久成人码免费动漫| 91久久人澡人人添人人爽欧美| 久久久久久天堂| 国产精品久久久久久久久久久免费看| 亚洲av无码一区二区三区观看 | 欧美色播在线播放| 国产97免费视频| 欧美激情综合在线| 男女黄床上色视频| 波多野结衣在线一区| 麻豆网站免费观看| 久久精品av麻豆的观看方式| 精品一卡二卡三卡| 亚洲美女毛片| 久久久久久久香蕉| 中文字幕免费一区二区三区| 亚洲狠狠婷婷综合久久久| 亚洲盗摄视频| 久草一区二区| 老牛国内精品亚洲成av人片| 高清不卡一区二区三区| 亚洲欧美专区| 91精品国产综合久久香蕉| 青青热久免费精品视频在线18| 91国内精品久久| f2c人成在线观看免费视频| 色综合色综合久久综合频道88| 精品欧美色视频网站在线观看| 这里只有精品丝袜| 成年午夜在线| 视频在线观看一区二区| 3d成人动漫在线| 少妇av一区二区三区| 免费在线你懂的| 精品国偷自产在线视频99| 麻豆av免费在线观看| 久久久国产视频91| av网站网址在线观看| 操人视频在线观看欧美| 羞羞电影在线观看www| 欧美精品在线免费播放| 色呦呦在线视频| 欧美激情视频一区二区三区不卡| 女人黄色免费在线观看| 国模极品一区二区三区| 黄在线观看免费网站ktv| 91高潮在线观看| 日韩pacopacomama| 国产精品美女www爽爽爽视频| 久久久加勒比| 91福利视频导航| 国产精品毛片久久久| 久久超碰亚洲| 精品一区二区三区在线 | 极品中文字幕一区| 女人天堂av手机在线| 老妇喷水一区二区三区| 能看的毛片网站| 捆绑调教一区二区三区| 宇都宫紫苑在线播放| 成人国产精品免费观看| 白丝女仆被免费网站| 国产精品午夜在线| 免费人成在线观看| 欧美三级欧美成人高清www| 亚洲天堂视频在线| 欧美不卡视频一区| 久久综合九色综合久| 日韩在线观看高清| 极品av在线| 国产一区二区在线免费视频| av综合网址| 日韩视频专区| 狠狠88综合久久久久综合网| 国产91对白刺激露脸在线观看| 蜜乳av一区二区| 免费黄视频在线观看| 26uuuu精品一区二区| 爱爱视频免费在线观看| 欧美色xxxx| 午夜精品久久久久久久爽| 日韩精品中文字幕在线观看| 麻豆传媒在线观看| 51精品国产黑色丝袜高跟鞋| 亚洲男男av| 免费看污久久久| 牛牛国产精品| 可以在线看的黄色网址| 国产成人av福利| 青青青视频在线播放| 午夜久久久影院| 国产视频手机在线| 一本色道久久88精品综合| 欧美xxxx视频| 国产日韩欧美夫妻视频在线观看 | 日韩一区二区三区四区| 黄网在线观看| 97高清免费视频| 在线日韩三级| 亚洲国内在线| 日韩影院在线观看| 丰满岳乱妇一区二区| 亚洲少妇屁股交4| 啪啪小视频网站| 日韩av在线看| gogo高清在线播放免费| 91免费在线视频网站| 极品美女一区二区三区| 777777av| 成人av网站大全| 九九在线观看视频| 91精品欧美福利在线观看 | 久久精品中文字幕电影| 亚洲www啪成人一区二区| 久久99久久99精品蜜柚传媒| 一区在线播放| 免费黄视频在线观看| 亚洲欧美精品午睡沙发| 一本大道伊人av久久综合| 中文综合在线观看| 成人国产综合| 婷婷亚洲婷婷综合色香五月| 亚洲欧美日韩国产| 呦呦视频在线观看| 亚洲第一在线综合网站| 黄色片一区二区三区| 欧美激情欧美激情| 伊人久久噜噜噜躁狠狠躁| 亚洲精品少妇一区二区| 国产精品主播直播| 欧美日韩精品一区二区三区视频播放| 7777精品伊人久久久大香线蕉完整版| 91在线直播| 国产精品爽黄69天堂a| 欧美在线电影| 鲁一鲁一鲁一鲁一av| 国产精品久久毛片av大全日韩| 最近中文字幕av| 日韩午夜在线视频| 日韩成人在线看| av动漫在线播放| 成人激情av网| 三级视频在线观看| 亚洲日本欧美日韩高观看| 日本欧美不卡| 亚洲在线观看一区| 国产一区二区三区免费播放| 欧美成人精品一区二区免费看片| 精品国产麻豆免费人成网站| 理论片午夜视频在线观看| 日本黄网免费一区二区精品| 免费久久99精品国产| 久久精品一区二区三区四区五区 | 亚洲欧美日韩精品久久久久| av免费在线观看不卡| 欧美高跟鞋交xxxxhd| 欧美激情极品| 我看黄色一级片| 中文字幕一区不卡| 国内老熟妇对白xxxxhd| 97视频免费看| 欧美一区二区性| 男人女人拔萝卜视频| 欧美视频在线观看免费网址| 91在线免费看| 春色成人在线视频| 亚洲综合99| 成年人网站在线观看视频| 精品国产自在久精品国产| 日韩av中字| 国产制服91一区二区三区制服| 91女厕偷拍女厕偷拍高清| 日批视频免费观看| 欧美夫妻性生活视频| 欧美日中文字幕| 自拍视频第一页| 日本高清不卡视频| 欧美色图天堂| 亚洲欧美日产图| 99久久亚洲一区二区三区青草| 中文字字幕在线中文乱码| 久久久久久中文字幕|