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

網紅面試題:從輸入 Url 到看到頁面發生了什么

網絡 通信技術
這道題能衍生很多問題,從一題可以測試出面試者的HTTP、瀏覽器相關知識。正所謂”鵬怒而飛,其翼若垂天之云;水擊三千里,碧空九萬丈;好風憑借力,送我上青云。“。

流程圖

這題扎眼看上去沒問題,無非是 HTTP 請求到瀏覽器渲染,但可以聊的東西很多。我想它的執行順序是,用戶輸入——開始導航——HTTP請求——瀏覽器渲染。其中用戶輸入、開始導航、瀏覽器渲染是瀏覽器方面的知識點,HTTP請求是 HTTP 方面的知識點。

以下就是從輸入 url 到看到頁面的整個流程圖。

從url輸入到頁面渲染

前言

了解"開始導航"之前,需要先知道瀏覽器架構,簡單來說,現代瀏覽器由1個瀏覽器主進程、1個GPU進程、多個渲染進程、多個插件進程、網絡進程、音頻進程、存儲進程組成。

下圖是李兵在《瀏覽器工作原理與實踐》中所示,展示 Chrome 瀏覽器的架構。

目前的瀏覽器架構

以及未來現代瀏覽器架構示意圖:

未來現代chrome瀏覽器架構

文章現代瀏覽器內部揭秘中有一張圖,是這樣描述的。

現代瀏覽器內部解密

圖中表明瀏覽器主進程包含了 UI 線程、網絡線程、存儲線程,與李兵的觀點有所不同。那以誰為準呢?以時間為準,李兵的專欄是19年所寫,而《現代瀏覽器內部解密》是 18 年的文章,站在 2022 年的背景,現代瀏覽器,UI、網絡、存儲等都已升級為進程,而非是瀏覽器主進程中的線程。

用戶輸入

當用戶在地址欄中輸入一個字符串時,地址欄會判斷輸入的關鍵字是搜索內容,還是請求的URL。

  • 如果是搜索內容,地址欄會使用瀏覽器默認的搜索引擎,合成新的帶搜索關鍵字的URL 例如在chrome中搜長澤雅美在chrome中搜長澤雅美。
  • 如果輸入內容符合 URL 規則,例如輸入azhubaby.com,那么地址欄會根據規則,把這段內容加上協議合成完成的 URL,如 https://azhubaby.com。

當用戶輸入關鍵字并鍵入回車之后,意味著當前頁面將替換為新的頁面,此時瀏覽器中有個 API——beforeunload,它允許頁面在離開之前觸發是否一個確認對話框。這里使用此API,可讓瀏覽器不再導航。

// 監聽離開頁面前的事件
window.addEventListener('beforeunload', (event) => {
event.preventDefault();
event.returnValue = '';
})

可在這里看看 beforeunload 的demo。

從瀏覽器架構分工上講,當用戶輸入字符串時是 UI 進程(老一點的瀏覽器是瀏覽器主進程)在運作。

開始導航

當敲下 Enter 鍵時,UI 進程將指揮權交接給了網絡進程。網絡進程接受請求指令前,會先查找本地緩存是否有緩存。如果有緩存該資源,那么直接返回資源給瀏覽器進程;如果在緩存中沒找到該資源,那么則正式進入HTTP請求階段。

關于HTTP緩存方面的知識可以看看這篇——面試常客:HTTP 緩存。

HTTP請求

之前寫過一篇TCP/IP 協議及網絡分層模型,講述了 TCP/IP 網絡分層協議,它就像搭積木一樣,每一層需要下一層的支撐,我們的 HTTP 請求是其 HTTP 協議的應用,需要先連接傳輸層(TCP)以及更底層網絡互連層(IP)。

TCP/IP 網絡分層模型

而IP從哪里來,通過 DNS, 使其域名 和 IP 做映射。

我們使用倒推法可以理清“路線”:

HTTP 請求 —— HTTP 協議連接 —— TCP 協議連接 —— IP 協議連接 —— 需要知道 IP——DNS 做域名/IP映射。

所以進入 HTTP 請求的第一步是 DNS 解析。

DNS 解析

這里對 DNS 不做過多概述,簡單來說,它的作用是用域名代替 IP 地址,符合人的記憶。輸入du.azhubaby.com ,表示 IP 地址 47.102.152.19 ,你可以在命令行中 ping 一個域名,來求證一下結果。

ping域名

HTTP 請求之前的第一步是判斷 DNS 中是否有緩存,如果有,直接返回 IP 地址;如果沒有,則進行 DNS 解析,并把結果 IP 緩存到 DNS。

有了 IP 地址后,IP 層連接成功,接下來就是 TCP 傳輸層。

TCP 連接

這里要看HTTP協議的版本,如果是 HTTP/1.1 的話,就要考慮TCP隊列否飽滿,因為 HTTP/1.1 最多允許一個域名連接 6 條TCP,太多了就要在等待TCP隊列中排隊;如果是 HTTP/2 的話,那就沒事,它允許TCP并發。

這里還要考慮到如果協議是 HTTPS 協議的話,還需要建立一條 TLS 連接。

等真正 TCP 連接時,就聯想到網紅面試題:三次握手、四次揮手。

三次握手、四次揮手

為什么是三次握手和四次揮手,因為只有這樣才能讓雙方(客戶端和服務端)知道彼此的接收能力和發送能力是沒問題的。

http-tcp-three-handshakes

步驟為:

  • 客戶端提出建立連接,發出客戶端seq:seq=client_isn。
  • 服務端收到消息后返回 ack=client_isn+1 和服務端seq:seq=server_isn。
  • 客戶端收到后返回ack=server_isn+1 表示收到了。

可以理解為男女雙方確認關系,男女雙方要結婚,怎么辦?先見父母得到父母認同,之前聽過這樣一句話:得不到父母祝福的婚姻是不幸福的(當然,不見父母直接結婚的也有,但不主流)。

  • 男方提出去女方家,帶上見面禮seq:seq=男方的誠意。
  • 女方家收到見面禮后返回(給男方)紅包 ack=我們認可你啦 以及女方去男方家也帶上見面禮seq:seq=女方的誠意。
  • 男方家收到見面禮后返回(給女方的)紅包 ack=server_isn+1。

這個叫確定關系。所以要又來又回三次,雙方都確保知道對方的誠意和自己的誠意。

那什么是四次揮手呢?

在斷開之前,需要進行四次揮手。

http-tcp-four-handshakes

為什么要有四次揮手?

主要是為了確保雙方都知道對方斷開連接。

具體步驟為:

  • 客戶端第一次發送消息給服務端告訴它需要斷開連接。
  • 服務端收到消息后返回消息告訴客戶端:知道了,為了確保服務端收到了之前所有的 HTTP 請求,服務端需要等一等再斷開連接。
  • 服務端確認所有的HTTP請求都收到了,主動發消息給客戶端:我這邊所有的請求都處理完了,我也可以斷開連接了。
  • 客戶端收到這個請求后,返回消息告訴服務端:我知道,斷開連接吧。

主要是為了確認雙方的接收能力和發送能力是否正常、制定自己的初始化序列號為后面的可靠性傳送做準備。

可以理解為一對男女要分手。

  • 女方提出分手,說你對我不好,我要分手。
  • 男方覺得需求合理,同意分手,但分手之前要把聯系方式、合照、各種亂七八糟的的事情算清楚再分手。
  • 男方理清楚后,主動發消息給女方,說這邊都處理清楚了,以后你是你,我是我,我們可以分手了。
  • 女方收到消息后,返回告訴男方:我知道了,分手吧。

于是乎,它們就斷了,分手手續完成。具體詳細的信息可看猿人谷的面試官,不要再問我三次握手和四次揮手,一個字:細。

發送HTTP請求

TCP連接已經通了,現在正式發送 HTTP 請求,這里又有的聊了,如 HTTP 的報文內容、請求頭、響應頭、請求方法、狀態碼等知識點。

首先 HTTP 的報文結構由 起始行 + 頭部 + 空行 + 實體組成,簡單來說就是 header+body,HTTP 的報文可以沒有body(get方法),但必須要有 header。

請求頭由請求行 + 頭部字段構成,響應頭由狀態行 + 頭部字段構成。

請求行有三部分:請求方法、請求目標和版本號。

  • 例如 GET / HTTP/1.1。

狀態行也有三部分:版本號、狀態碼和原因字符串。

  • 例如 HTTP/1.1 200 OK。

在瀏覽器中,打開F12,在 NetWork 中任何一個請求中,你都會看到這樣的結構。

報文結構

這里我們也常會遇到一些例如 GET 和 POST 請求方式的區別、HTTP 狀態碼等相關的衍生問題。

GET 和 POST 請求方式的區別

  • 從緩存角度看,GET 會被緩存,POST 不會被緩存。
  • 從參數角度看,GET 通過在 URL 的"?"后以 key=value 方式傳參,數據之間以“&”相連接;POST 則要將數據封裝到請求體中發送,這個過程不可見。
  • 從安全角度看,GET 不安全,因為 URL 可見;POST 較 GET 安全度高。
  • 從編碼角度看,GET 只接受 ASCII 字符,向服務器發送中文字符可能會出現亂碼;POST 支持標準字符集,可以正確傳遞中文。
  • 從數據長度的限制看,GET 一般受 URL 長度限制(URL 的最大長度是 2048 個字符),POST 無限制。

HTTP 狀態碼

RFC 標準把狀態碼分成了五類 ,用數字的第一位表示分類,而 0~99 不用,這樣狀態碼的實際可用范圍就大大縮小了,由 000~999 變成了 100~599。

這五類的具體含義是:

  • 1××:提示信息,表示目前是協議處理的中間狀態,還需要后續的操作。
  • 2××:成功,報文已經收到并被正確處理。
  • 3××:重定向,資源位置發生變動,需要客戶端重新發送請求。
  • 4××:客戶端錯誤,請求報文有誤,服務器無法處理。
  • 5××:服務器錯誤,服務器在處理請求時內部發生了錯誤。

目前 RFC 標準里總共有 41 個狀態碼。

  • 101 - Switching Protocols,客戶端使用 Upgrade 頭字段。
  • 200 - 請求成功。
  • 204 - 無內容,服務器成功處理了請求,但沒有返回任何內容。
  • 206 - 一般用來做斷點續傳,或者是視頻文件等大文件的加載。
  • 301 - 永久重定向。
  • 302 - 臨時重定向。
  • 304 - 未修改協商緩存,返回緩存中的數據。它不具有通常的跳轉含義,但可以理解成 重定向到緩存的文件(即緩存重定向)。
  • 400 - 請求中語法錯誤。
  • 401 - 未授權。
  • 403 - 服務器收到請求,但是拒絕提供服務,即資源不可用。
  • 404 - 無法找到請求資源。
  • 408 Request Timeout - 請求超時。
  • 414 - 請求 URI 過長(如圖一新浪常有)。
  • 500 - 服務器內部錯誤。
  • 501 - 尚未實施:服務器不具備請求功能。
  • 502 - 網關錯誤。
  • 503 - 服務器不可用,主動用503響應請求或 Nginx 設置限速,超過限速,會返回503。
  • 504 - 網關超時。

這里要對 304 做一下說明,當請求頭 If-Modified-Since 或 If-None-Match 中判斷修改時間是否一致(或唯一標識是否一致),是,則返回304,使用瀏覽器內存中的本地緩存;不一致則說明要更新,繼續請求資源放回給客戶端,并帶上 Last-Modified 或 ETag。

請求方式

HTTP/1.1 規定了八種方法,都必須是大寫形式。

  • GET:獲取資源,可以理解為讀取或者下載數據。只有GET請求才能起到緩存效果。
  • HEAD:獲取資源的元信息。
  • POST:像資源提交數據,相當于寫入或上傳數據。
  • PUT:類似 POST。
  • DELETE:刪除資源。
  • CONNECT:建立特殊的連接隧道。
  • OPTIONS:列出可對資源實行的方式。
  • TRACE:追蹤請求 - 響應的傳輸路徑。

瀏覽器渲染

當HTTP 請求完畢后,斷開 TCP 連接,將資源返回給客戶端(瀏覽器)。此時瀏覽器要判斷是否與打開的網站是同一個站點。因為如果是同一個站點的話,則可使用同站點的渲染進程渲染頁面,如果不是,瀏覽器則打開新的渲染進程解析資源。

瀏覽器渲染的大致流程如下圖所示:

瀏覽器渲染大致流程

我們可以將頁面渲染分為三個步驟:

解析

  • HTML 被解析為 DOM 樹,CSS 被解析為 CSS 規則樹,JavaScript 通過 DOM API 和 CSSOM API 來操作 DOM Tree 和 CSS Rule Tree。

渲染

  • 瀏覽器引擎通過 DOM Tree 和 CSS Rule Tree 構建 Rendering Tree(渲染樹),這其中進行大量的 回流(Reflow) 和 重繪(Repaint)。
  • 回流和重繪 回流:意味著元件的幾何尺寸變了,需要重新驗證并計算 Render Tree重繪:屏幕的一部分需要重畫,比如某個CSS 的背景色變了,但元件的幾何尺寸沒有變回流的成本要比重繪大。

繪制

  • 最后通過操作系統(瀏覽器)的Native GUI的API繪制。

其中,衍生出重繪和回流的問題,提高性能的方法之一就是減少瀏覽器的渲染時間,其中的一個優化點就是減少重繪和回流。

減少回流和重繪的方法

  1. 不要一條條修改 DOM 樣式,與其這樣,不如預定義好CSS的class,然后修改DOM的樣式。
  2. 把DOM“離線”后修改 使用 documentFragment 對象在內存里操作 DOM先把 DOM 給 display:none(有一次 。 Reflow),然后你想怎么改就怎么改,再把它顯示出來clone 一個 DOM 節點到內存里,然后想怎么改就怎么改,改完后和在線的那個交換一下。
  3. 不要把 DOM 節點的屬性值放在一個循環中當作循環的變量,不然這會導致大量地讀寫這個節點的屬性
  4. 盡可能地修改層級比較低的DOM。
  5. 不要使用 table 布局。

造成回流的屬性:

width、height、padding、margin、border、position、top、left、bottom、right、float、clear、text-align、vertical-align、line-height、font-weight、font-size、font-family、overflow、white-space

造成重繪的屬性:

color、border-style、border-radius、text-decoration、box-shadow、outline、background

記住一點,回流是與幾何大小相關,重繪與大小無關。

如此,從輸入 url 到看到頁面的整個流程就走完了。

總結

這道題能衍生很多問題,從一題可以測試出面試者的HTTP、瀏覽器相關知識。正所謂”鵬怒而飛,其翼若垂天之云;水擊三千里,碧空九萬丈;好風憑借力,送我上青云。“。這道題之所以能成為經典題,不是沒有它的原因的。

筆者這里做一個總結,把這題可以衍生的知識點逐一列出,待君思索。

瀏覽器方面

  • 瀏覽器架構 由什么組成?瀏覽器主進程、GPU進程、多個渲染進程、多個插件進程、網絡進程、音頻進程、存儲進程等渲染進程中有哪些進程?GUI渲染線程、JS 引擎線程、事件觸發線程、網絡異步線程、定時器線程進程和線程的區別?進程是應用程序創建的實例,而線程依托于進程,它是計算機最小的運行單位。
  • 瀏覽器渲染 渲染流程?解析、渲染、繪制重繪和回流 兩者的區別重繪和回流的屬性如何減少重繪和回流,提高渲染性能。

HTTP方面

  • HTTP緩存 強緩存 HTTP/1.1 Cache-ControlHTTP/1.0 ExpiresCache-Control > Expires 協商緩存 HTTP/1.1 ETag/If-None-MatchHTTP/1.0 Last-Modified/If-Modified-Since精準度:ETag > Last-Modified性能:Last-Modified > ETag。

TCP/IP 連接 三次握手、四次揮手

  • 網絡層面的性能優化 HTTP/1.1的做法HTTP/2 的做法HTTP/3 的做法每個階段采用的性能優化是有所不同的。
責任編輯:姜華 來源: 今日頭條
相關推薦

2023-01-14 16:11:27

瀏覽器URL回車

2017-04-11 13:54:49

HTTPURLHTML

2020-01-10 08:54:24

URLDNSTCP

2017-09-22 13:24:20

2022-05-26 23:36:36

SQLMySQL數據

2025-06-30 09:26:47

2020-08-24 07:12:17

前端CRP性能優化

2019-12-20 09:31:23

TCPHTTP瀏覽器

2020-10-29 07:05:30

Main函數Python

2021-05-27 10:26:00

地址欄URLhttp

2011-03-31 09:20:45

URLDNSWeb應用程序

2017-09-06 09:13:24

2024-05-06 10:53:22

瀏覽器TCPHTTPS

2020-09-01 11:40:01

HTTPJavaTCP

2018-01-03 15:17:26

2013-01-05 14:51:34

JavaScriptjQuery面試

2025-02-11 07:40:27

2020-10-09 08:59:55

輸入網址解密

2023-11-02 08:00:00

ClickHouse數據庫

2017-05-04 10:54:08

大數據存儲數據分析
點贊
收藏

51CTO技術棧公眾號

国产无套内射久久久国产| 亚洲free性xxxx护士hd| 婷婷色一区二区三区| jizzjizz少妇亚洲水多| 亚洲国产高清aⅴ视频| 亚洲最大的成人网| 亚洲黄色免费观看| 午夜久久黄色| 国产亚洲欧洲高清一区| 欧美午夜精品一区二区| 成人交换视频| 黄网动漫久久久| 亚洲欧美日韩在线综合 | 国产手机在线观看| 国产精品一区二区精品视频观看 | 欧美精品自拍视频| 欧美一级二级三级区| www.av精品| 亚洲一区制服诱惑| 久久久久久久久久一级| 韩国一区二区三区在线观看| 正在播放欧美一区| 亚洲一区二区在线免费| 成人污版视频| 在线观看免费亚洲| 国产综合av在线| 美足av综合网| 亚洲视频精选在线| 天天综合狠狠精品| 日本福利片高清在线观看| 东方aⅴ免费观看久久av| 国产日韩欧美成人| 看黄色一级大片| 国产精品嫩草99av在线| 久久久久久久一区二区三区| 91久久久久久久久久久久久久 | av成人免费看| 疯狂做受xxxx欧美肥白少妇| 精品人妻人人做人人爽| 麻豆影院在线观看| 一区免费观看视频| 亚洲欧洲精品在线观看| 久久综合九色综合久| 91影院在线免费观看| 成人激情av| www.爱爱.com| 国产福利精品导航| 91亚洲精品丁香在线观看| 国产精品热久久| 精品在线观看视频| 成人欧美一区二区三区黑人| 国产精品女同一区二区| 精品中文字幕一区二区| 91老司机在线| 精品国产伦一区二区三| 国产乱码精品一品二品| 91超碰在线电影| 亚洲乱码在线观看| 不卡一区二区在线| 国产日韩久久| 黄色在线网站| 中文子幕无线码一区tr| 亚洲欧洲精品一区| 中文字幕有码在线视频| 亚洲综合精品久久| www.av毛片| www.成人爱| 欧美午夜理伦三级在线观看| 亚洲色图久久久| 99热这里有精品| 日韩免费电影一区| 99re这里只有| 欧美日韩在线网站| 久久久精品日本| 精品无码人妻一区二区三| 亚洲高清在线| 国产成人自拍视频在线观看| 亚洲一二区视频| 国产成人综合视频| 九九久久99| 1024国产在线| 一个色综合网站| 欧美黄网站在线观看| 国模一区二区| 欧美一级日韩免费不卡| yy1111111| 青青草原综合久久大伊人精品| 久久精品视频网站| 国产无遮挡又黄又爽又色| 久久久久一区| 成人性生交大片免费看视频直播| 亚洲成人一级片| 久久久99精品免费观看不卡| 日韩精品一区二区三区四区五区 | 国产成人短视频在线观看| zzijzzij亚洲日本成熟少妇| www.国产成人| 激情五月播播久久久精品| 动漫美女被爆操久久久| av在线资源站| 亚洲二区在线视频| 色国产在线视频| 精品久久ai| 久久精品视频在线播放| 久久亚洲天堂网| 国产一区二区三区蝌蚪| 欧美精品123| 91精品久久| 91久久奴性调教| 第一页在线视频| 日韩电影免费网址| 97在线看免费观看视频在线观看| 在线免费av网| 久久亚洲综合色| 300部国产真实乱| 国产一区一一区高清不卡| 337p日本欧洲亚洲大胆精品| 欧美福利在线视频| 狂野欧美一区| 韩国精品一区二区三区六区色诱| 精品麻豆一区二区三区| 91国产丝袜在线播放| 特级西西人体4444xxxx| 欧美黄色大片网站| 国产精品美女主播在线观看纯欲| 无码h黄肉3d动漫在线观看| 亚洲精品欧美综合四区| 午夜在线观看av| 久久99国内| 欧美亚洲激情在线| 六月婷婷综合网| 亚洲靠逼com| 久久综合在线观看| 久久精品高清| 国产精品视频26uuu| 激情在线视频| 色香色香欲天天天影视综合网| 制服丝袜av在线| 一区二区视频欧美| 国产传媒一区| 91色在线看| 亚洲电影免费观看高清完整版在线观看| 9.1片黄在线观看| 日韩av电影一区| 日韩欧美精品在线不卡| 日韩影片中文字幕| 亚洲香蕉成人av网站在线观看 | 夜久久久久久| 国产在线精品一区二区三区》| 香蕉久久aⅴ一区二区三区| 91精品久久久久久久久99蜜臂 | 亚洲成人在线网站| 蜜桃色一区二区三区| 国产综合网站| 国外成人免费视频| 中文在线аv在线| 亚洲精品日韩丝袜精品| 久久久精品毛片| 亚洲国产电影在线观看| 五月天激情播播| 一个色综合网| 国产伦精品一区二区三| 国产激情在线播放| 亚洲欧美日韩区| 性高潮视频在线观看| 国产精品情趣视频| 视频区 图片区 小说区| 亚洲小说欧美另类社区| 久久青青草原一区二区| 日韩一区二区三区在线免费观看 | 性做爰过程免费播放| 精品国产18久久久久久二百| 欧美精品福利视频| 日本中文字幕电影在线观看| 在线亚洲精品福利网址导航| 一区二区三区在线播放视频| 国产成人在线免费观看| 国产av麻豆mag剧集| 神马久久一区二区三区| 国产欧美在线看| 黄色污污视频在线观看| 亚洲精品日韩久久久| 国产精品一区二区三区在线免费观看| 一区二区三区蜜桃| www.av欧美| 国产一区二区视频在线播放| 亚洲 自拍 另类小说综合图区| 国产亚洲欧美日韩在线观看一区二区 | 亚洲日韩欧美视频| 97精品人妻一区二区三区| 亚洲精品日韩综合观看成人91| 中文字幕在线观看网址| 美腿丝袜一区二区三区| 老太脱裤让老头玩ⅹxxxx| 亚洲区小说区图片区qvod按摩| 91精品中国老女人| 亚洲欧洲高清| 久久成人免费视频| 午夜国产在线观看| 欧美日韩1区2区| 美日韩一二三区| 综合婷婷亚洲小说| 在哪里可以看毛片| 高清成人免费视频| 亚洲黄色av网址| 亚洲日本激情| 伊人久久大香线蕉成人综合网| 精品淫伦v久久水蜜桃| 成人深夜直播免费观看| 涩涩涩视频在线观看| 美女扒开尿口让男人操亚洲视频网站| 可以直接在线观看的av| 日韩精品一区二区三区中文精品| 国产成人精品一区二区色戒| 婷婷亚洲久悠悠色悠在线播放| fc2ppv在线播放| 久久久久久99久久久精品网站| 亚洲精品成人无码毛片| 美女视频黄 久久| 久草青青在线观看| 亚洲久久在线| 国产91沈先生在线播放| 91久久夜色精品国产按摩| 任我爽在线视频精品一| 欧美精品中文| 国产精品一区视频网站| 免费欧美网站| 成人免费在线网址| 日韩成人综合网| 国产福利成人在线| 成人国产二区| 欧美重口另类videos人妖| 成人在线黄色电影| 欧美激情xxxxx| 在线中文字幕-区二区三区四区| 色哟哟网站入口亚洲精品| 日本美女一级片| 欧美mv和日韩mv的网站| 99热这里只有精品99| 91麻豆精品国产91| 自拍偷拍色综合| 欧美丝袜丝交足nylons图片| 亚洲av无码不卡| 在线观看日韩电影| 天天干天天操天天操| 在线精品视频一区二区| 日韩熟女一区二区| 在线精品亚洲一区二区不卡| 亚洲无码精品一区二区三区| 色婷婷综合激情| 中国精品一区二区| 欧美日韩国产中文| 国产精品乱码一区二区| 欧美美女激情18p| av网站免费大全| 日韩一区二区三免费高清| 不卡视频免费在线观看| 精品黑人一区二区三区久久| 欧美一区二不卡视频| 日韩精品极品毛片系列视频| 欧美日韩国产综合视频| 一本色道久久88综合亚洲精品ⅰ| 91在线网址| 久久激情视频免费观看| 欧美xxxx视频| 欧美中文字幕第一页| 91精品xxx在线观看| 国产精品一二三在线| 国产精品视频一区二区三区| 国产高清自拍一区| 亚洲精品3区| 樱花www成人免费视频| 国产精品国码视频| 久久69精品久久久久久国产越南| 久久久久久久久99| 亚洲第一综合色| 日本a级c片免费看三区| 欧美三级中文字| 精品国自产在线观看| 亚洲精品www久久久久久广东| 蜜桃视频在线入口www| 中文字幕无线精品亚洲乱码一区 | 一区二区影视| 日韩av三级在线| 天堂资源在线中文精品| 国产精品久久久久久9999| av日韩在线网站| 日日操免费视频| 亚洲国产成人av网| 中文字幕免费视频观看| 日韩免费成人网| 爱久久·www| 欧美激情一区二区三区久久久| 亚洲人体影院| 91日韩久久| 精品国产不卡| 国产免费裸体视频| 麻豆成人av在线| 日本少妇xxxx| 亚洲天堂av一区| 无码人妻黑人中文字幕| 欧美一区二区精品| 国外av在线| 久久久久久中文| 自拍偷拍亚洲| 美女被啪啪一区二区| 亚洲一区二区三区| 国产熟人av一二三区| 成人性生交大片免费看中文 | 日韩免费观看av| 中文字幕一区二区三区日韩精品| 蜜桃麻豆www久久国产精品| 欧美片第1页综合| 污污的视频免费| 久久久久成人黄色影片| 国产午夜精品无码| 日韩一区二区三区精品视频| 天堂地址在线www| 日韩免费观看视频| 国产精品tv| 国产爆乳无码一区二区麻豆| 久久精品免费观看| 国精产品一区一区三区免费视频 | 91在线公开视频| 亚洲午夜久久久影院| 午夜影院一区| 好吊色欧美一区二区三区四区| 911精品美国片911久久久| 天堂社区在线视频| 91麻豆精品视频| 日本视频免费在线| 亚洲国内精品视频| 99re6在线精品视频免费播放| 91在线免费视频| 亚洲成av人片一区二区密柚| 搡女人真爽免费午夜网站| 久久久久久电影| 日日夜夜操视频| 亚洲偷欧美偷国内偷| 中文字幕人成乱码在线观看| 国产欧美日韩一区二区三区| 在线日韩电影| 伊人网综合视频| 欧美日韩国产麻豆| 性xxxfllreexxx少妇| 7777精品视频| 亚洲色图丝袜| 欧美国产日韩在线播放| 欧美激情综合在线| 亚洲最大成人在线视频| 日日噜噜噜夜夜爽亚洲精品 | 丝袜亚洲另类欧美| 中字幕一区二区三区乱码| 色婷婷激情一区二区三区| 国产三区四区在线观看| 国产精品第一第二| 成人羞羞网站入口免费| 性刺激的欧美三级视频| 中文字幕一区二区三区视频| 国产美女永久免费| 久久av中文字幕| 超碰成人免费| 青青草原成人网| 国产欧美日本一区二区三区| 中文字幕免费高清在线观看| 久久影视电视剧免费网站清宫辞电视| 国产一区二区三区国产精品| 久久www视频| 97精品国产露脸对白| 在线观看亚洲黄色| 久久精品国产一区二区电影| 日本在线一区二区三区| 久久久久久久中文| 国产女主播在线一区二区| 一本久道久久综合无码中文| 久久这里有精品视频| 国产精品xxx在线观看| 狠狠爱免费视频| 国产精品二三区| 姝姝窝人体www聚色窝| 啪一啪鲁一鲁2019在线视频| 日韩高清欧美| 国产免费a级片| 欧美伊人久久大香线蕉综合69 | 欧美日韩国产亚洲沙发| 国产日韩在线观看av| 欧美深夜福利| av女人的天堂| 欧美一区二区三区免费大片| 电影在线观看一区| 杨幂一区欧美专区| 不卡的看片网站| 亚洲天堂999| 91精品国产91| 91精品国产成人观看| 人妻精品久久久久中文字幕| 欧美精品日韩一本| 第84页国产精品| 欧美狂野激情性xxxx在线观| 欧美国产一区视频在线观看|