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

Tomcat源碼解析 | 整體架構及組件

開發(fā) 架構
追溯至互聯(lián)網(wǎng)的萌芽時期,Sun 公司(后被 Oracle 納入麾下)洞察到了這一時代機遇,便推出了 Applet 以支持 Web 應用。然而,Applet 并未如預期般在業(yè)界掀起波瀾。Sun 在反思之后,意識到機遇與市場前景皆不可辜負,于是決定投身于制定一套新的規(guī)范,Servlet 便應運而生。

前言

Tomcat,昔日名為 Catalina,本是輕巧的 Servlet 容器。Catalina,美國加州海岸線上一顆璀璨的明珠。或許,Tomcat 的締造者寄望于此,期冀將 Tomcat 塑造為一款既優(yōu)雅又輕盈的 Web 服務器。自 4.x 版本起,Tomcat 不再局限于 Servlet 的支持,而是增添了諸多新功能,如 JSP、EL、命名服務等,從而超越了 Catalina 的范疇。

既然 Tomcat 的核心身份乃 Servlet 容器,我們便應更加關注 Servlet 本身。

何謂 Servlet?

追溯至互聯(lián)網(wǎng)的萌芽時期,Sun 公司(后被 Oracle 納入麾下)洞察到了這一時代機遇,便推出了 Applet 以支持 Web 應用。然而,Applet 并未如預期般在業(yè)界掀起波瀾。Sun 在反思之后,意識到機遇與市場前景皆不可辜負,于是決定投身于制定一套新的規(guī)范,Servlet 便應運而生。

Servlet,乃 Sun 公司為使 Java 語言能夠編織動態(tài)且富有交互性的網(wǎng)頁,進而邁入 Web 編程之殿堂,所精心制定的一套規(guī)范。一個 Servlet 的核心職責可概括為以下三端:

  1. 構建并充實 Request 對象,囊括 URI、參數(shù)、請求方式、頭部訊息、以及請求本體等。
  2. 創(chuàng)建 Response 對象。
  3. 運行業(yè)務邏輯,并將成果經(jīng)由 Response 的輸出流,傳遞至客戶端。

Servlet 自身并不包含 main 方法,故其執(zhí)行需依托于一容器之中,此容器之存在,正為支撐 Servlet 之功能。Tomcat,便是這樣一種 Servlet 容器的具象實現(xiàn)。

整體架構圖:

圖片圖片

在 Tomcat 的架構圖之中,兩個核心組件——連接器(Connector)與容器(Container)扮演著心臟般的關鍵角色,它們的重要性不言而喻。以下是它們各自的職責:

  1. 連接器(Connector)負責處理與連接相關的事務,它將 Socket 連接轉化為 Request 和 Response 對象,以便進行后續(xù)處理。
  2. 容器(Container)則負責封裝與管理工作中的 Servlet,并具體承擔起處理 Request 請求的重任。

在 Tomcat 的體系結構中,僅存在一個 Server 實例,而一個 Server 可以容納多個 Service。每個 Service 僅關聯(lián)一個 Container,但可以配備多個 Connectors。這樣的設計意味著一個服務能夠通過多個連接器來接納連接,例如同時提供 HTTP 與 HTTPS 協(xié)議的鏈接,或者針對同一協(xié)議的不同端口提供服務。架構的示意圖如下(后續(xù)將詳細介紹 Engine、Host、Context 等組件):

圖片圖片

image.png

在 Tomcat 的宏偉藍圖中,多個 Connector 與一個 Container 共同構成了 Service,正是 Service 使得 Tomcat 能夠向外提供服務。然而,Service 本身需要一個生存的依托,需要一個能夠賦予其生命、掌控其存亡的主宰,這個角色非 Server 莫屬。因此,Tomcat 的整個生命周期都受到 Server 的調控。

此外,這些組件之間的包含關系,或者說是層級關系,均可在 Tomcat 配置的心臟——conf目錄下的server.xml文件中一覽無余。在這個配置文件中,我們可以洞察到 Tomcat 的骨骼架構,理解各個組件如何相互連接、協(xié)作,共同支撐起整個服務器的運行。

圖片圖片

上邊的配置文件,還可以通過下邊的一張結構圖更清楚的理解:

圖片圖片

image.png

在 Tomcat 的架構中,各個組件各司其職,共同織就了一張精密的服務網(wǎng)絡。下面,讓我們逐一探究這些組件的獨特功能:

  1. Server:作為整個服務器的代表,Server 提供了一種簡潔而優(yōu)雅的方式,用以啟動和停止整個 Tomcat 系統(tǒng)。它使得我們無需單獨對連接器和容器進行繁瑣的啟停操作。
  2. Service:Service 代表著服務本身,一個 Server 可以運行多個 Service。例如,在單個 Tomcat 實例中,可以同時運行訂單服務、支付服務和用戶服務等。
  3. Connector:Connector 是連接的橋梁,一個 Service 可以包含多個 Connector,以支持多種通信協(xié)議。例如,可以同時支持 AJP、HTTP 和 HTTPS 協(xié)議,每種協(xié)議都可以通過特定的 Connector 來實現(xiàn)。但是每種協(xié)議最終執(zhí)行的 servlet 是相通的。
  4. Container:Container 是 Servlet 的棲息之地,它負責管理和執(zhí)行 Servlet。
  1. Engine:作為引擎,Engine 是 Container 的最高層級,它可以包含多個 Host。
  2. Host:Host 代表虛擬主機,每個 Host 可以包含多個 Context。
  3. Context:Context 是 Web 應用的上下文,它定義了 Web 應用的部署參數(shù)和路徑。
  4. Wrapper:Wrapper 是 Servlet 的包裝器,它負責 Servlet 的生命周期管理和資源分配。
  1. Service 服務之下還有各種支撐組件。
  2. Manager:Manager 是會話管理器,它負責管理用戶的會話(Session)。

  3. Logger:Logger 是日志管理器,它負責記錄和管理日志信息。

  4. Loader:Loader 是類加載器,它與類的加載機制相關,通常由 Context 使用。

  5. Pipeline:Pipeline 是管道組件,它與 Valve 一起實現(xiàn)過濾器功能。

  6. Valve:Valve 是閥門組件,它與 Pipeline 配合,用于實現(xiàn)請求和響應的過濾處理。

  7. Realm:Realm 是安全域,它負責認證和授權。

在 Tomcat 的架構中,除了連接器和容器之外,Pipeline 和 Valve 也扮演著至關重要的角色。它們共同構成了 Tomcat 強大的過濾和處理能力。通過一張圖,我們可以更直觀地理解這兩個組件如何在請求處理流程中發(fā)揮作用。

圖片圖片

Connector 和 Container 的微妙關系

在 Tomcat 的宏偉舞臺之上,當一個請求翩翩而至,它的旅程便開始了:

  1. Service:請求首先抵達 Service,這是 Tomcat 服務的起點,調度著整個服務的流程。
  2. Connector:隨后,請求被引導至 Connector,它是 Tomcat 的忠實門衛(wèi),負責接收來自遠方的請求。Connector 將原始的網(wǎng)絡連接轉化為符合 HTTP 協(xié)議的 Request 和 Response 對象。
  3. Container:Request 和 Response 在 Connector 的精心包裝后,便被遞交至 Container。它負責管理和執(zhí)行 Servlet,對請求進行細致的處理。
  4. 處理與返回:Container 在處理完請求后,將結果交回 Connector。Connector 再次承擔起信使的角色,通過 Socket 將處理結果沿著 TCP/IP 協(xié)議的路徑,送回客戶端。

在整個過程中,Connector 不僅是溝通客戶端與服務器的橋梁,更是實現(xiàn) TCP/IP 協(xié)議和 HTTP 協(xié)議的使者。它確保了請求和響應的準確傳遞,使得整個 Web 服務順利的流轉起來

Connector 架構分析

連接器(Connector)猶如一扇溝通外界與應用系統(tǒng)的窗口,負責接收來自客戶端的請求,將其轉化為標準化的 Request 和 Response 對象,并交給容器(Container)進行處理。Container 處理完后再交給 Connector 返回給客戶端。從功能上看,我們可以將連接器拆解為以下三個核心環(huán)節(jié):

  1. 請求的捕獲: 連接器如何精準地捕捉到來自客戶端的海量請求?
  2. 請求與響應的封裝: 連接器是如何將紛繁復雜的原始請求數(shù)據(jù),規(guī)范地封裝成 Request 對象,并將容器處理后的結果打包成 Response 對象的?
  3. 請求的傳遞與響應的回傳: 封裝后的 Request 對象如何被高效地傳遞給容器,而容器生成的 Response 對象又如何準確地返回給客戶端?

我們看下 Connector 的結構圖,如下:

圖片圖片

Connector 的核心組件與工作原理

Connector 通過 ProtocolHandler 來處理各種類型的網(wǎng)絡請求。不同的 ProtocolHandler 對應不同的連接方式,如Http11Protocol使用傳統(tǒng)的阻塞式 Socket,而 Http11NioProtocol 則采用高效的非阻塞式 NIO Socket。ProtocolHandler 主要由 Endpoint、Processor 和 Adapter 三個組件構成:

  • Endpoint: 負責底層網(wǎng)絡連接的管理,包括 Socket 的創(chuàng)建、監(jiān)聽、接受以及連接的關閉。它相當于一個“門衛(wèi)”,負責把控所有進出系統(tǒng)的網(wǎng)絡流量。Endpoint 通常實現(xiàn)了 TCP/IP 協(xié)議棧的部分功能,用于建立可靠的網(wǎng)絡連接。
  • Processor: 專門負責將 Endpoint 接收到的原始 Socket 數(shù)據(jù)解析為標準化的 HTTP 請求(Request)。它可以看作是一個“翻譯官”,將底層的網(wǎng)絡字節(jié)流轉化為應用程序可以理解的請求信息。Processor 實現(xiàn)了 HTTP 協(xié)議的具體細節(jié),包括請求行的解析、請求頭的處理、請求體的讀取等。
  • Adapter: 充當了連接器與容器之間的適配器。它將 Processor 處理好的 Request 對象傳遞給 Container,以便容器中的 Servlet 或其他組件對請求進行具體的處理。Adapter 的作用類似于一個“中介”,將不同層次的組件聯(lián)系起來。

Endpoint 內(nèi)部機制Endpoint 的抽象實現(xiàn) AbstractEndpoint 定義了幾個重要的內(nèi)部類和接口:

  • Acceptor: 負責監(jiān)聽來自客戶端的連接請求,一旦有新的連接到來,Acceptor 就會創(chuàng)建一個新的 Socket,并將其交給 Handler 處理。
  • AsyncTimeout: 用來監(jiān)控異步請求的超時情況。對于長時間未得到響應的異步請求,AsyncTimeout 會采取相應的處理措施,比如關閉連接或者觸發(fā)超時事件。
  • Handler: 是一個接口,定義了處理新連接的具體邏輯。當 Acceptor 接收到一個新的 Socket 時,會創(chuàng)建一個 Handler 實例,并將其與該 Socket 關聯(lián)起來。Handler 會調用 Processor 來解析請求,并將處理結果返回給客戶端。

小結:

Connector 通過這三個組件的協(xié)同工作,實現(xiàn)了從接收客戶端請求到返回處理結果的整個過程。Endpoint 負責建立連接,Processor 負責解析請求,Adapter 負責將請求傳遞給容器。這種分層設計使得 Connector 具有良好的擴展性和可維護性。

Container 如何處理請求的

容器(Container)采用 Pipeline-Valve 管道機制來處理請求,這是一種基于責任鏈模式的設計。在請求處理過程中,多個 Valve 會依次對請求進行處理,每個 Valve 負責特定的任務。與傳統(tǒng)的責任鏈模式不同,Pipeline-Valve 具有以下特點:

  • 固定終點: 每個 Pipeline 都有一個特殊的 Valve,即 BaseValve。BaseValve 位于 Pipeline 的末端,不可刪除,確保每個請求都經(jīng)過它的處理。
  • 層級調用: 上層容器的 BaseValve 會調用下層容器的 Pipeline,形成一個嵌套的責任鏈,使得請求在不同層次的容器中依次得到處理。

Tomcat 中的四個標準容器(Engine、Host、Context、Wrapper)分別對應一個 BaseValve:StandardEngineValve、StandardHostValve、StandardContextValve、StandardWrapperValve。

Pipeline 的處理流程圖如下:

圖片圖片

當 Connector 接收到一個請求時,它會將請求委派給最頂層的容器——Engine。Engine 擁有一個 Pipeline,就像一條流水線,流水線上的每個工位就是一個 Valve。這些 Valve 按照預定的順序對請求進行處理。

  1. Engine 管道: 請求首先進入 Engine 的 Pipeline。在這個管道中,一系列 EngineValve 會依次對請求進行處理,例如進行全局性的日志記錄、安全檢查等。最后,StandardEngineValve 會將請求轉發(fā)給下一層容器——Host。
  2. 逐級傳遞: Host、Context、Wrapper 等容器都擁有自己的 Pipeline,它們會按照同樣的方式處理請求。每個容器的 BaseValve(如 StandardHostValve、StandardContextValve)負責將請求傳遞給下一層容器。
  3. FilterChain: 當請求到達 Wrapper 容器時,StandardWrapperValve 會創(chuàng)建一個 FilterChain。FilterChain 包含了與該請求匹配的所有 Filter 和 Servlet。這些 Filter 和 Servlet 會按照配置的順序依次執(zhí)行 doFilter 方法,最終調用 Servlet 的 service 方法來處理請求。
  4. 返回響應: 一旦請求處理完畢,響應結果會沿著原路返回,經(jīng)過各個 Valve,最終由 Connector 發(fā)送回客戶端。

好了,我們已經(jīng)從整體上看到了 Tomcat 的結構,對于每個組件并沒有詳細分析。后續(xù)章節(jié)我們會從幾個方面來學習 Tomcat

責任編輯:武曉燕 來源: 碼上遇見你
相關推薦

2016-11-25 13:14:50

Flume架構源碼

2022-06-07 10:33:29

Camera組件鴻蒙

2020-05-19 21:40:35

Tomcat架構Connector

2020-04-28 22:58:33

Tomcat架構Service

2024-09-11 09:25:03

Tomcat組件PREP

2017-07-17 11:52:54

jQuery源碼分析前端框架類庫

2023-12-13 08:31:23

2020-10-30 13:30:26

SpringBoot代碼應用

2014-08-19 10:30:30

Swift源碼OpenStack架構

2016-11-04 21:46:46

UnderscoreJavascript

2009-06-24 14:25:13

JSF整體架構

2019-05-27 14:43:49

Tomcat架構部署

2020-04-20 21:30:51

Tomcat部署架構

2021-06-29 08:41:15

架構Tomcat 連接器

2022-03-18 15:55:15

鴻蒙操作系統(tǒng)架構

2023-05-09 13:38:28

2019-03-23 21:20:30

Android 谷歌架構

2016-11-29 09:38:06

Flume架構核心組件

2016-11-25 13:26:50

Flume架構源碼

2010-05-25 17:01:44

點贊
收藏

51CTO技術棧公眾號

制服丝袜亚洲网站| 国产精品12区| 九九99久久精品在免费线bt| 国产精品极品美女在线观看| 久久综合给合久久狠狠狠97色69| 国产成人在线一区二区| 婷婷丁香综合网| 成人香蕉社区| 欧美午夜片在线看| 久久在线中文字幕| 在线免费观看黄色网址| 成人一道本在线| 国产99视频精品免视看7| 777777国产7777777| 秋霞在线一区| 91精品国产入口在线| 久久免费视频3| huan性巨大欧美| 久久久精品影视| 亚洲在线观看视频| www.久久视频| 亚洲日本欧美| 久久国产精品久久久| 免费看黄色的视频| 豆花视频一区二区| 884aa四虎影成人精品一区| 国产极品粉嫩福利姬萌白酱| 久做在线视频免费观看| 国产三级精品视频| 精品午夜一区二区三区| 99热这里只有精| 日本不卡一区二区三区高清视频| 97久久久久久| 曰本女人与公拘交酡| 欧美综合久久| 亚洲欧美日韩另类| 日本黄色录像片| 亚洲精品在线播放| 69精品人人人人| 日韩欧美国产片| 91tv亚洲精品香蕉国产一区| 一本色道久久加勒比精品| 91丨porny丨探花| 丝袜美腿av在线| 亚洲色图在线播放| 久久久一二三四| аⅴ资源新版在线天堂| 国产亚洲欧美日韩俺去了| 激情五月综合色婷婷一区二区| 精品国产一级片| 国产美女娇喘av呻吟久久| 国产精品自拍偷拍| 瑟瑟视频在线免费观看| 日日夜夜免费精品| 国产精欧美一区二区三区| 欧美一区二区三区网站| 久久一二三区| 国产精品jizz在线观看麻豆| 久久精品五月天| 日韩二区三区四区| 国产精品第三页| 中国一级片黄色一级片黄| 日韩国产精品久久久久久亚洲| 国产99久久精品一区二区 夜夜躁日日躁| 全部毛片永久免费看| 亚洲专区免费| 欧美资源在线观看| 青青草视频在线观看免费| 首页综合国产亚洲丝袜| 国产精品美女呻吟| 欧美大成色www永久网站婷| 稀缺呦国内精品呦| 红杏视频成人| 日韩国产在线看| 国产麻豆天美果冻无码视频| 国产欧美日韩免费观看| 色777狠狠综合秋免鲁丝| 国产高清视频免费在线观看| 欧美激情 亚洲a∨综合| 午夜免费在线观看精品视频| 日韩久久精品视频| 三级一区在线视频先锋| 国产欧美精品日韩精品| 国产手机av在线| 波多野结衣中文字幕一区二区三区| 精品网站在线看| 99riav在线| 伊人性伊人情综合网| 全黄性性激高免费视频| 网友自拍亚洲| 91精品国产综合久久精品图片| 国产综合内射日韩久| 国产麻豆精品久久| 久久在线精品视频| 成人免费区一区二区三区| 青青草原综合久久大伊人精品优势 | 激情视频亚洲| 亚洲国产毛片完整版| 极品人妻videosss人妻| 欧美日韩一区二区高清| 国产成人精彩在线视频九色| 国产夫妻自拍av| 久久久久久免费网| 99国产精品白浆在线观看免费| 黄视频网站在线观看| 欧美日韩一区二区电影| 精品无码人妻少妇久久久久久| 国产日产精品_国产精品毛片| 九色91av视频| 樱花视频在线免费观看| 成人小视频在线| 一本久久a久久精品vr综合| 女人黄色免费在线观看| 欧美日韩国产另类一区| 日本丰满少妇裸体自慰| 欧美ab在线视频| 国产精品入口日韩视频大尺度| 狠狠人妻久久久久久综合麻豆| 中文字幕精品三区| 波多野结衣家庭教师在线| 欧美影院精品| 日韩在线观看免费全集电视剧网站| 亚洲一区 视频| 国产主播一区二区三区| 日韩精品av一区二区三区| 大菠萝精品导航| 欧美tickling网站挠脚心| 无码少妇精品一区二区免费动态| 在线看片成人| 亚洲成人av电影在线| 免费日韩av| 亚洲精品蜜桃乱晃| 成人做爰免费视频免费看| 2021av在线| 黄色www视频| 少妇又紧又色又爽又刺激视频| 在线免费黄色av| 日韩国产第一页| 熟妇高潮精品一区二区三区| 国产精品日韩无码| 97久久人人超碰| 无码人妻aⅴ一区二区三区日本| 香蕉成人av| 日韩国产精品视频| www.av视频在线观看| 国产成人午夜99999| 男女激烈动态图| 国产乱码精品一区二区三区亚洲人 | 成人动漫视频在线| 国产精品久久久久久久乖乖| 精品视频在线观看网站| 久久久www成人免费精品| 亚洲天堂中文在线| 亚洲欧洲日本在线| www.51色.com| 你懂的国产精品永久在线| 亚洲精品免费网站| 亚洲区欧洲区| 精品国产乱码久久久久久老虎| 九九九国产视频| 91免费看`日韩一区二区| 欧美 激情 在线| 欧美日韩xxxx| 国产精品自拍偷拍| h片在线免费| 精品国精品国产| 久久久久久久久久影院| 久久久久久亚洲综合| 一区二区三区视频网| 欧美一区国产在线| 国产一区在线免费观看| 欧美自拍电影| 中文字幕免费精品一区| 国产三级在线观看视频| 亚洲国产精品一区二区尤物区| 狠狠人妻久久久久久综合蜜桃| 丝袜脚交一区二区| 在线观看免费黄色片| 在线观看视频一区二区三区| 欧美中文字幕视频| 亚洲成人三级| 欧美成人aa大片| 日韩欧美在线观看免费| 国产精品传媒入口麻豆| 成人做爰69片免费| 日韩高清在线一区| 喜爱夜蒲2在线| 台湾佬综合网| 91手机视频在线观看| 97超碰免费在线| 尤物yw午夜国产精品视频明星 | 97人人在线视频| 亚洲深夜福利在线| 亚洲春色一区二区三区| 91福利视频久久久久| 青青草成人免费| 国产视频一区二区三区在线观看| 日韩不卡的av| 天堂蜜桃91精品| 男人天堂新网址| 欧美日韩中文一区二区| 91久久伊人青青碰碰婷婷| 悠悠资源网亚洲青| 欧美成人精品一区二区三区| 日本人妖在线| 日韩欧美二区三区| 正在播放木下凛凛xv99| 婷婷开心激情综合| 小向美奈子av| 久久久电影一区二区三区| 精品人妻一区二区乱码| 秋霞影院一区二区| 久久久一本二本三本| 欧美在线资源| 亚洲国产激情一区二区三区| 国产一区二区在线视频你懂的| 国产精品一久久香蕉国产线看观看| 成人三级高清视频在线看| 久久精品在线视频| 国产精品二线| 日韩高清不卡av| 亚洲AV无码一区二区三区少妇| 欧美日韩精品三区| 波多野结衣在线观看视频| 欧美日韩国产色视频| 久久国产免费观看| 日韩理论片一区二区| 少妇太紧太爽又黄又硬又爽小说 | 在线观看不卡一区| 日韩成人在线免费视频| 亚洲精品欧美综合四区| 蜜桃视频最新网址| 亚洲国产精品黑人久久久| 欧美成人午夜精品免费| 91伊人久久大香线蕉| www.美色吧.com| 成人自拍视频在线| 日韩高清一二三区| 国产成人一区在线| ass极品水嫩小美女ass| 国内精品久久久久影院色| 中文字幕天天干| 日本麻豆一区二区三区视频| 黄色免费网址大全| 免费一级片91| 香港日本韩国三级网站| 免费在线看成人av| 日本特黄a级片| 日本视频免费一区| 亚洲免费看av| 久久av老司机精品网站导航| 天堂社区在线视频| 久久国产成人午夜av影院| 欧美wwwwwww| 国内久久精品视频| 日本wwwxx| caoporm超碰国产精品| 少妇精品一区二区| 国产亚洲综合av| 欧美a在线播放| 亚洲欧洲综合另类在线| 国产少妇在线观看| 亚洲成人免费av| 51国产偷自视频区视频| 欧美在线观看你懂的| 一二三四区视频| 日韩西西人体444www| 午夜激情在线视频| 亚洲色图校园春色| 免费av网站在线观看| 欧美激情精品在线| 伊人久久视频| 国产精品视频地址| 人人爱人人干婷婷丁香亚洲| 精品免费一区二区三区蜜桃| 国产精品最新| 爱爱爱视频网站| 最新亚洲一区| 在线观看免费黄网站| 国产精品香蕉一区二区三区| 91精品小视频| 国产精品欧美一级免费| 欧洲猛交xxxx乱大交3| 都市激情亚洲色图| 亚洲中文字幕在线观看| 精品人在线二区三区| 欧美一区二区视频| 久久影院资源网| 美脚恋feet久草欧美| 国产综合香蕉五月婷在线| 国产精品色在线网站| 无码免费一区二区三区免费播放 | 中文在线a天堂| 精品日韩成人av| yiren22综合网成人| 久久99精品久久久久久琪琪| 欧美大胆性生话| 99porn视频在线| 第一会所sis001亚洲| 欧美乱大交xxxxx潮喷l头像| 免费视频最近日韩| 亚洲一区二区三区无码久久| 91小视频xxxx网站在线| 欧美成人一二三| 校园春色亚洲色图| 国产精品免费一区二区三区| gogogo高清在线观看一区二区| 欧美久久久久久久久久久久久久| 肉丝袜脚交视频一区二区| 日本人妻一区二区三区| 国产精品美女久久久久久久网站| 国产成人无码精品久久久久| 欧美丰满少妇xxxxx高潮对白| 色视频精品视频在线观看| 久久福利视频网| 99re久久| 欧美日韩亚洲在线| 亚洲第一精品影视| 欧美在线a视频| 中文字幕第一页久久| 在线观看日韩中文字幕| 精品国产精品网麻豆系列| 久久五月精品| 国产日韩在线一区| 精品视频97| 波多野结衣家庭教师视频| av影院午夜一区| 国产亚洲成人精品| 日韩视频在线你懂得| 大地资源网3页在线观看| 国产精品亚洲网站| 欧美少妇性xxxx| 免费在线观看毛片网站| 亚洲精品a级片| 欧美性一级生活| 永久免费精品视频网站| 欧美精品一二| 草草久久久无码国产专区| 国产成人在线免费| 2018天天弄| 欧美乱妇20p| 免费在线看黄| 91精品国产综合久久香蕉最新版 | 成人影视亚洲图片在线| 久久久免费视频网站| bt7086福利一区国产| 日韩av在线播放观看| 日韩电影网在线| 欧美另类老肥妇| 久久精品magnetxturnbtih| 亚洲精品123区| 日韩精品视频一区二区| 午夜激情久久久| 亚洲aaa在线观看| 8090成年在线看片午夜| 日本一二三区在线视频| 玖玖视频精品| 久久精品国产99精品国产亚洲性色| 亚洲欧美一区在线| 日本人dh亚洲人ⅹxx| 亚洲制服丝袜av| 天天舔天天干天天操| 97色在线观看| 国产精品一区二区av交换| 五月天婷婷激情视频| 国产精品久久久久久久久免费樱桃 | www.九色在线| 国产偷国产偷亚洲高清97cao| 亚洲综合另类| 无码人妻aⅴ一区二区三区69岛| 欧美午夜片在线观看| 操你啦在线视频| 国产精品免费观看高清| 久久经典综合| 国产精品综合激情| 日韩美一区二区三区| 忘忧草在线影院两性视频| 性刺激综合网| 国产盗摄视频一区二区三区| av大片在线免费观看| 综合国产在线视频| 中文无码日韩欧| 国产精品免费观看久久| 中文字幕一区二区在线播放| 欧美 日韩 国产 在线| 日韩暖暖在线视频| 亚洲美女视频| 亚洲天堂网一区二区| 欧美日韩高清一区| 久久大胆人体| 日韩亚洲视频| 国模娜娜一区二区三区| 欧美videossex极品| 超碰97人人做人人爱少妇| 色88888久久久久久影院| 久热精品在线观看视频| 精品久久久久久久久国产字幕| 黄页视频在线播放| 日本中文字幕不卡免费| 欧美在线一卡|