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

輸入網(wǎng)址按回車,到底發(fā)生了什么

開(kāi)發(fā) 后端
詳解輸入網(wǎng)址點(diǎn)擊回車,后臺(tái)到底發(fā)生了什么。透析 HTTP 協(xié)議與 TCP 連接之間的千絲萬(wàn)縷的關(guān)系。掌握為何是三次握手四次揮手? time_wait 存在的意義是什么?全面圖解重點(diǎn)問(wèn)題。

詳解輸入網(wǎng)址點(diǎn)擊回車,后臺(tái)到底發(fā)生了什么。透析 HTTP 協(xié)議與 TCP 連接之間的千絲萬(wàn)縷的關(guān)系。掌握為何是三次握手四次揮手? time_wait 存在的意義是什么?全面圖解重點(diǎn)問(wèn)題,再也不用擔(dān)心面試問(wèn)這個(gè)問(wèn)題。

大致流程

  •  URL 解析。
  •  DNS 查詢。
  •  TCP 連接。
  •  服務(wù)器處理請(qǐng)求。
  •  客戶端接收 HTTP 報(bào)文響應(yīng)。
  •  渲染頁(yè)面

重點(diǎn)來(lái)了:

  •  如何理解 TCP 的三次握手與四次揮手?每次握手客戶端與服務(wù)端是怎樣的狀態(tài)?
  •  為何揮手會(huì)出現(xiàn) 2MSL,遇到大量 Socket 處在 TIME_WAIT 或者 CLOSE_WAIT 狀態(tài)是什么問(wèn)題?
  •  三次握手與四次揮手的過(guò)程是怎樣的?
  •  HTTP 的報(bào)文格式又是怎樣的?

繼續(xù)閱讀本文,且聽(tīng)碼哥字節(jié)答疑解惑,微信搜索 “碼哥字節(jié)”,關(guān)注公眾號(hào)更多硬核。

URL 解析

地址解析:首先判斷你輸入的是一個(gè)合法的 URL 還是一個(gè)待搜索的關(guān)鍵詞,并且根據(jù)你輸入的內(nèi)容進(jìn)行自動(dòng)完成、字符編碼等操作。

HSTS 由于安全隱患,會(huì)使用 HSTS 強(qiáng)制客戶端使用 HTTPS 訪問(wèn)頁(yè)面。詳見(jiàn):你所不知道的 HSTS[1]。

其他操作 瀏覽器還會(huì)進(jìn)行一些額外的操作,比如安全檢查、訪問(wèn)限制(之前國(guó)產(chǎn)瀏覽器限制 996.icu)。

檢查緩存

DNS 查詢

  1.  瀏覽器緩存:先檢查是否在緩存中,沒(méi)有則調(diào)用系統(tǒng)庫(kù)函數(shù)進(jìn)行查詢。
  2.  操作系統(tǒng)緩存:操作系統(tǒng)也有自己的 DNS 緩存,但在這之前,會(huì)向檢查域名是否存在本地的 Hosts 文件里,沒(méi)有則向 DNS 服務(wù)器發(fā)送查詢請(qǐng)求。
  3.  路由器緩存。
  4.  ISP DNS 緩存:ISP DNS 就是在客戶端電腦上設(shè)置的首選 DNS 服務(wù)器,它們?cè)诖蠖鄶?shù)情況下都會(huì)有緩存。

根域名服務(wù)器查詢

在前面所有步驟沒(méi)有緩存的情況下,本地 DNS 服務(wù)器會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到互聯(lián)網(wǎng)上的根域,下面這個(gè)圖很好的詮釋了整個(gè)流程:

需要注意的的是:

  1.  遞歸方式:一路查下去中間不返回,得到最終結(jié)果才返回信息(瀏覽器到本地 DNS 服務(wù)器的過(guò)程)
  2.  迭代方式,就是本地 DNS 服務(wù)器到根域名服務(wù)器查詢的方式。
  3.  什么是 DNS 劫持
  4.  前端 dns-prefetch 優(yōu)化

TCP 連接建立與斷開(kāi)

TCP/IP 分為四層,在發(fā)送數(shù)據(jù)時(shí),每層都要對(duì)數(shù)據(jù)進(jìn)行封裝:

應(yīng)用層:發(fā)送 HTTP 請(qǐng)求

瀏覽器從地址欄得到服務(wù)器 IP,接著構(gòu)造一個(gè) HTTP 報(bào)文,其中包括:

  •  請(qǐng)求報(bào)頭(Request Header):請(qǐng)求方法、目標(biāo)地址、遵循的協(xié)議等
  •  請(qǐng)求主體,請(qǐng)求參數(shù),比如 body 里面的參數(shù)

傳輸層:TCP 傳輸報(bào)文

傳輸層會(huì)發(fā)起一條到達(dá)服務(wù)器的 TCP 連接,為了方便傳輸,會(huì)對(duì)數(shù)據(jù)進(jìn)行分割(以報(bào)文段為單位),并標(biāo)記編號(hào),方便服務(wù)器接受時(shí)能夠準(zhǔn)確地還原報(bào)文信息。在建立連接前,會(huì)先進(jìn)行 TCP 三次握手。

網(wǎng)絡(luò)層:IP 協(xié)議查詢 MAC 地址

將數(shù)據(jù)段打包,并加入源及目標(biāo)的 IP 地址,并且負(fù)責(zé)尋找傳輸路線。判斷目標(biāo)地址是否與當(dāng)前地址處于同一網(wǎng)絡(luò)中,是的話直接根據(jù) Mac 地址發(fā)送,否則使用路由表查找下一跳地址,以及使用 ARP 協(xié)議查詢它的 Mac 地址。

鏈路層:以太網(wǎng)協(xié)議

根據(jù)以太網(wǎng)協(xié)議將數(shù)據(jù)分為以“幀”為單位的數(shù)據(jù)包,每一幀分為兩個(gè)部分:

  •  標(biāo)頭:數(shù)據(jù)包的發(fā)送者、接受者、數(shù)據(jù)類型
  •  數(shù)據(jù):數(shù)據(jù)包具體內(nèi)容

Mac 地址

以太網(wǎng)規(guī)定了連入網(wǎng)絡(luò)的所有設(shè)備都必須具備“網(wǎng)卡”接口,數(shù)據(jù)包都是從一塊網(wǎng)卡傳遞到另一塊網(wǎng)卡,網(wǎng)卡的地址就是 Mac 地址。每一個(gè) Mac 地址都是獨(dú)一無(wú)二的,具備了一對(duì)一的能力。

主要的請(qǐng)求過(guò)程:

  1.  瀏覽器從地址欄中獲取服務(wù)器的 IP 和端口號(hào);
  2.  瀏覽器有服務(wù)器之間通過(guò) TCP 三次握手建立連接;
  3.  瀏覽器向服務(wù)器發(fā)送報(bào)文;
  4.  服務(wù)器接收?qǐng)?bào)文處理,同時(shí)將響應(yīng)報(bào)文發(fā)給瀏覽器;
  5.  瀏覽器解析報(bào)文,渲染輸出到頁(yè)面;

三次握手

在傳輸層傳輸數(shù)據(jù)之前需要建立連接,也就是三次握手創(chuàng)建可靠連接。

首先建立鏈接前需要 Server 端先監(jiān)聽(tīng)端口,因此 Server 端建立鏈接前的初始狀態(tài)就是 LISTEN 狀態(tài),這時(shí) Client 端準(zhǔn)備建立鏈接,先發(fā)送一個(gè) SYN 同步包,發(fā)送完同步包后,Client 端的鏈接狀態(tài)變成了 SYN_SENT 狀態(tài)。Server 端收到 SYN 后,同意建立鏈接,會(huì)向 Client 端回復(fù)一個(gè) ACK。

由于 TCP 是雙工傳輸,Server 端也會(huì)同時(shí)向 Client 端發(fā)送一個(gè) SYN,申請(qǐng) Server 向 Client 方向建立鏈接。發(fā)送完 ACK 和 SYN 后,Server 端的鏈接狀態(tài)就變成了 SYN_RCVD。

Client 收到 Server 的 ACK 后,Client 端的鏈接狀態(tài)就變成了 ESTABLISHED 狀態(tài),同時(shí),Client 向 Server 端發(fā)送 ACK,回復(fù) Server 端的 SYN 請(qǐng)求。

Server 端收到 Client 端的 ACK 后,Server 端的鏈接狀態(tài)也就變成了的 ESTABLISHED 狀態(tài),此時(shí)建連完成,雙方隨時(shí)可以進(jìn)行數(shù)據(jù)傳輸。

在面試時(shí)需要明白三次握手是為了建立雙向的鏈接,需要記住 Client 端和 Server 端的鏈接狀態(tài)變化。另外回答建連的問(wèn)題時(shí),可以提到 SYN 洪水攻擊發(fā)生的原因,就是 Server 端收到 Client 端的 SYN 請(qǐng)求后,發(fā)送了 ACK 和 SYN,但是 Client 端不進(jìn)行回復(fù),導(dǎo)致 Server 端大量的鏈接處在 SYN_RCVD 狀態(tài),進(jìn)而影響其他正常請(qǐng)求的建連??梢栽O(shè)置 tcp_synack_retries = 0 加快半鏈接的回收速度,或者調(diào)大 tcp_max_syn_backlog 來(lái)應(yīng)對(duì)少量的 SYN 洪水攻擊

四次揮手

我們只要關(guān)注 80 端口與 13743 端口建立的連接斷開(kāi)過(guò)程,瀏覽器通過(guò) 13747 端口發(fā)送 [FIN, ACK] 這里是不是跟很多網(wǎng)上看到的不一樣?

  1.  其實(shí)是客戶端在發(fā)送 [FIN] 報(bào)文的時(shí)候順帶發(fā)了一個(gè) [ACK] 確認(rèn)上次傳輸確認(rèn)。
  2.  接著服務(wù)端通過(guò) 80 端口響應(yīng)了 [ACK] ,然后立馬響應(yīng) [FIN, ACK] 表示數(shù)據(jù)傳輸完了,可以關(guān)閉連接。
  3.  最后瀏覽器通過(guò) 13743 端口 發(fā)送 [ACK] 包給服務(wù)端,客服端與服務(wù)端連接就關(guān)閉了。

具體流程如下圖抓包所示:

三次握手與四次揮手

客戶端:

  •  SYN_SENT - 客戶端發(fā)起第 1 次握手后,連接狀態(tài)為 SYN_SENT ,等待服務(wù)端內(nèi)核進(jìn)行應(yīng)答,如果服務(wù)端來(lái)不及處理(例如服務(wù)端的 backlog 隊(duì)列已滿)就可以看到這種狀態(tài)的連接。
  •  ESTABLISHED - 表示連接處于正常狀態(tài),可以進(jìn)行數(shù)據(jù)傳送??蛻舳耸盏椒?wù)器回復(fù)的 SYN+ACK 后,對(duì)服務(wù)端的 SYN 單獨(dú)回復(fù)(第 3 次握手),連接建立完成,進(jìn)入 ESTABLISHED 狀態(tài)。服務(wù)端程序收到第 3 次握手包后,也進(jìn)入 ESTABLISHED 狀態(tài)。
  •  FIN_WAIT_1 - 客戶端發(fā)送了關(guān)閉連接的 FIN 報(bào)文后,等待服務(wù)端回復(fù) ACK 確認(rèn)。
  •  FIN_WAIT_2 - 表示我方已關(guān)閉連接,正在等待服務(wù)端關(guān)閉??蛻舳税l(fā)了關(guān)閉連接的 FIN 報(bào)文后,服務(wù)器發(fā)回 ACK 應(yīng)答,但是沒(méi)進(jìn)行關(guān)閉,就會(huì)處于這種狀態(tài)。
  •  TIME_WAIT - 雙方都正常關(guān)閉連接后,客戶端會(huì)維持 TIME_WAIT 一段時(shí)間,以確保最后一個(gè) ACK 能成功發(fā)送到服務(wù)器端。停留時(shí)長(zhǎng)為 2 倍的 MSL (報(bào)文最大生存時(shí)間),Linux 下大約是 60 秒。所以在一個(gè)頻繁建立短連接的服務(wù)器上通??梢钥吹匠汕先f(wàn)的 TIME_WAIT 連接。

服務(wù)端:

  •  LISTEN - 表示當(dāng)前程序正在監(jiān)聽(tīng)某個(gè)端口時(shí)。
  •  SYN_RCVD - 服務(wù)端收到第 1 次握手后,進(jìn)入 SYN_RCVD 狀態(tài),并回復(fù)一個(gè) SYN+ACK(第 2 次握手),再等待對(duì)方確認(rèn)。
  •  ESTABLISHED - 表示連接處于正常狀態(tài),可以進(jìn)行數(shù)據(jù)傳送。完成 TCP3 次握手后,連接建立完成,進(jìn)入 ESTABLISHED 狀態(tài)。
  •  CLOSE_WAIT - 表示客戶端已經(jīng)關(guān)閉連接,但是本地還沒(méi)關(guān)閉,正在等待本地關(guān)閉。有時(shí)客戶端程序已經(jīng)退出了,但服務(wù)端程序由于異?;?BUG 沒(méi)有調(diào)用 close()函數(shù)對(duì)連接進(jìn)行關(guān)閉,那在服務(wù)器這個(gè)連接就會(huì)一直處于 CLOSE_WAIT 狀態(tài),而在客戶機(jī)已經(jīng)不存在這個(gè)連接了。
  •  LAST_ACK - 表示正在等待客戶端對(duì)服務(wù)端的關(guān)閉請(qǐng)求進(jìn)行最終確認(rèn)。

TIME_WAIT 狀態(tài)存在的理由:

劃重點(diǎn)了

  •  可靠地實(shí)現(xiàn) TCP 全雙工連接的終止 在進(jìn)行關(guān)閉連接四路握手協(xié)議時(shí),最后的 ACK 是由主動(dòng)關(guān)閉端發(fā)出的,如果這個(gè)最終的 ACK 丟失,服務(wù)器將重發(fā)最終的 FIN,因此客戶端必須維護(hù)狀態(tài)信息允 許它重發(fā)最終的 ACK。如 果不維持這個(gè)狀態(tài)信息,那么客戶端將響應(yīng) RST 分節(jié),服務(wù)器將此分節(jié)解釋成一個(gè)錯(cuò)誤( 在 java 中會(huì)拋出 connection reset 的 SocketException)。因而,要實(shí)現(xiàn) TCP 全雙工連接的正常終 止,必須處理終止序列四個(gè)分節(jié)中任何一個(gè)分節(jié)的丟失情況,主動(dòng)關(guān)閉 的客戶端必須維持狀 態(tài)信息進(jìn)入 TIME_WAIT 狀態(tài)。
  •  允許老的重復(fù)分節(jié)在網(wǎng)絡(luò)中消逝 TCP 分節(jié)可能由于路由器異常而“迷途”,在迷途期間,TCP 發(fā)送端可能因確認(rèn)超時(shí)而重發(fā)這個(gè) 分節(jié),迷途的分節(jié)在路由器修復(fù)后也會(huì)被送到最終目的地,這個(gè) 原來(lái)的迷途分節(jié)就稱為 lost duplicate。在關(guān)閉一個(gè) TCP 連接后,馬上又重新建立起一個(gè)相同的 IP 地址和端口之間的 TCP 連接,后一個(gè)連接被稱為前一個(gè)連接的化身 ( incarnation),那么有可能出現(xiàn)這種情況,前一 個(gè)連接的迷途重復(fù)分組在前一個(gè)連接終止后出現(xiàn),從而被誤解成從屬于新的化身。為了避免 這個(gè)情 況,TCP 不允許處于 TIME_WAIT 狀態(tài)的連接啟動(dòng)一個(gè)新的化身,因?yàn)?TIME_WAIT 狀 態(tài)持續(xù) 2MSL,就可以保證當(dāng)成功建立一個(gè) TCP 連接的時(shí) 候,來(lái)自連接先前化身的重復(fù)分組已 經(jīng)在網(wǎng)絡(luò)中消逝。

另外回答斷鏈的問(wèn)題時(shí),可以提到實(shí)際應(yīng)用中有可能遇到大量 Socket 處在 TIME_WAIT 或者 CLOSE_WAIT 狀態(tài)的問(wèn)題。一般開(kāi)啟 tcp_tw_reuse 和 tcp_tw_recycle 能夠加快 TIME-WAIT 的 Sockets 回收;而大量 CLOSE_WAIT 可能是被動(dòng)關(guān)閉的一方存在代碼 bug,沒(méi)有正確關(guān)閉鏈接導(dǎo)致的。

簡(jiǎn)單地說(shuō)就是

  1.  保證 TCP 協(xié)議的全雙工連接能夠可靠關(guān)閉;
  2.  保證這次連接的重復(fù)數(shù)據(jù)段從網(wǎng)絡(luò)中消失,防止端口被重用時(shí)可能產(chǎn)生數(shù)據(jù)混淆;

服務(wù)器處理請(qǐng)求并響應(yīng) HTTP 報(bào)文

深入分析下 HTTP 報(bào)文到底是什么玩意。數(shù)據(jù)傳輸都是通過(guò) TCP/IP 協(xié)議負(fù)責(zé)底層的傳輸工作, HTTP 協(xié)議基本不用操心,所謂的 “超文本傳輸協(xié)議” 似乎不怎么例會(huì) “傳輸” 這個(gè)事情,那 HTTP 的核心又是什么呢?

比圖 TCP 報(bào)文,它在實(shí)際要傳輸?shù)臄?shù)據(jù)之前附加了一個(gè) 20 字節(jié)的頭部數(shù)據(jù),存儲(chǔ) TCP 協(xié)議必須的額外信息,例如發(fā)送方的端口號(hào)、接收方的端口號(hào)、包序號(hào)、標(biāo)志位等等。

有了這個(gè)附加的 TCP 頭,數(shù)據(jù)包才能夠正確傳輸,到了目的地后把頭部去掉,就可以拿到真正的數(shù)據(jù)。這個(gè)很容易理解,設(shè)置起點(diǎn)與終點(diǎn),不同協(xié)議貼上不同的頭部,到了對(duì)應(yīng)目的地就拆下這個(gè)頭部,提取真正的數(shù)據(jù)。

與 TCP/UDP 類似需要在傳輸數(shù)據(jù)前設(shè)置一些請(qǐng)求頭,不同的是 HTTP 是一個(gè) “純文本” 的協(xié)議,所有的頭都是 ASCII 碼的文本,很容易看出來(lái)是什么。

再者就是他的請(qǐng)求報(bào)文與響應(yīng)報(bào)文的結(jié)構(gòu)基本一樣,主要三大部分組成:

  1.  起始行(Start Line):描述請(qǐng)求或者響應(yīng)的基本信息。
  2.  Header:使用 key-value 的形式詳細(xì)說(shuō)明報(bào)文信息。
  3.  空行。
  4.  消息正文(Entity):傳輸?shù)臄?shù)據(jù),圖片、視頻、文本等都可以。

這其中前兩部分起始行和頭部字段經(jīng)常又合稱為“請(qǐng)求頭”或“響應(yīng)頭”,消息正文又稱為“實(shí)體”,但與“header”對(duì)應(yīng),很多時(shí)候就直接稱為“body”。

敲黑板了

HTTP 協(xié)議規(guī)定報(bào)文必須包含 Header,而且之后必須有一個(gè) “空行”,也就是“CRLF”,十六進(jìn)制的“0D0A”,可以沒(méi)有 “body”。

報(bào)文結(jié)構(gòu)如下圖所示:

截取一段報(bào)文:

請(qǐng)求頭-起始行

請(qǐng)求行由請(qǐng)求方法字段、URL 字段和 HTTP 協(xié)議版本字段 3 個(gè)字段組成,它們用空格分隔。例如,GET / HTTP/1.1。

HTTP 協(xié)議的請(qǐng)求方法有 GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。

GET 是請(qǐng)求方法, “/” 是請(qǐng)求的目標(biāo)資源,“HTTP/1.1” 請(qǐng)求協(xié)議版本號(hào)。

GET / HTTP/1.1 翻譯成文字大概就是:“hello,服務(wù)器,我要請(qǐng)求根目錄下的默認(rèn)文件使用的是 HTTP 1.1 協(xié)議版本”。

頭部 Header

第二部分就是 Header,組成形式是 key:value,使用自定義頭需要注意事項(xiàng):

  1.  header 字段不區(qū)分大小寫(xiě),通常是首字母大寫(xiě);
  2.  字段名不允許有空格,可以使用 “-”,不能使用 “_”;
  3.  字段名必須緊接著 “:”,不能有空格,但是 “:” 后面可以有空格。
  4.  字段名順序沒(méi)有意義;

瀏覽器接收響應(yīng)并渲染數(shù)據(jù)

瀏覽器接收到來(lái)自服務(wù)器的響應(yīng)資源后,會(huì)對(duì)資源進(jìn)行分析。首先查看 Response header,根據(jù)不同狀態(tài)碼做不同的事(比如上面提到的重定向)。如果響應(yīng)資源進(jìn)行了壓縮(比如 gzip),還需要進(jìn)行解壓。然后,對(duì)響應(yīng)資源做緩存。接下來(lái),根據(jù)響應(yīng)資源里的 MIME[3] 類型去解析響應(yīng)內(nèi)容(比如 HTML、Image 各有不同的解析方式)。

接下來(lái)將接收到的數(shù)據(jù)渲染出來(lái),不同的瀏覽器也不是完全相同,但是大致流程是一樣的:

如果覺(jué)得閱讀后對(duì)你有幫助,希望多多分享、點(diǎn)贊與在看素質(zhì)三連不做白嫖者。關(guān)注 【碼哥字節(jié)】解鎖更多硬核。 

 

責(zé)任編輯:龐桂玉 來(lái)源: segmentfault
相關(guān)推薦

2020-10-09 08:59:55

輸入網(wǎng)址解密

2011-03-31 09:20:45

URLDNSWeb應(yīng)用程序

2025-06-30 09:26:47

2020-03-18 08:56:27

頁(yè)面網(wǎng)址內(nèi)容

2022-05-26 23:36:36

SQLMySQL數(shù)據(jù)

2018-01-03 15:17:26

2020-08-17 12:47:07

Mozilla裁員瀏覽器

2021-02-25 10:02:32

開(kāi)機(jī)鍵Linux內(nèi)存

2024-05-06 10:53:22

瀏覽器TCPHTTPS

2023-01-14 16:11:27

瀏覽器URL回車

2019-11-12 14:41:41

Redis程序員Linux

2010-02-07 09:00:29

AndroidLinux Kerne

2022-03-04 08:56:58

HTTPDNS 服務(wù)器瀏覽器

2017-04-11 13:54:49

HTTPURLHTML

2021-05-27 10:26:00

地址欄URLhttp

2024-11-04 09:10:00

2019-12-10 09:42:57

OOM運(yùn)維內(nèi)存

2017-09-22 13:24:20

2020-01-10 08:54:24

URLDNSTCP

2021-04-14 10:47:56

瀏覽器網(wǎng)址TCP
點(diǎn)贊
收藏

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

午夜成人鲁丝片午夜精品| 国产精品免费在线视频| 澳门成人av网| 亚洲国产精品成人综合色在线婷婷 | 国产91色在线|| 午夜国产小视频| 欧美freesex8一10精品| 欧美日韩三级一区| 欧美久久在线观看| av成人手机在线| 成人av电影在线播放| 国产精品国产三级国产专播精品人 | 精品久久中文| 精品久久一区二区| 99视频在线视频| h片在线观看视频免费| 国产亚洲一区二区三区在线观看 | 亚洲国产成人精品一区二区三区| 一本色道88久久加勒比精品| 深夜福利日韩在线看| 久久人人爽人人人人片| 亚洲a成人v| 精品久久久久久久久久久| 亚洲一区三区视频在线观看 | 99热精品一区二区| 亚洲一区久久久| 亚洲大片免费观看| 激情久久久久| 不卡av在线播放| 一本一本久久a久久| 香蕉久久夜色精品国产更新时间| 欧美一级日韩一级| 久热精品在线观看视频| 成人影院av| 舔着乳尖日韩一区| 国内精品国产三级国产99| av成人手机在线| 国产日韩欧美高清在线| 久久久久久草| 图片区 小说区 区 亚洲五月| 蜜桃免费网站一区二区三区| 日本一欧美一欧美一亚洲视频 | 在线一区二区视频| 亚洲午夜精品久久久久久人妖| 中文字幕在线播放网址| 综合久久久久久久| 在线视频精品一区| 在线免费观看黄| 国产欧美一区二区精品性色| 欧美日韩精品免费观看视一区二区| 欧美一级特黄aaaaaa| 国产91精品一区二区| 999视频在线观看| 精品国产av 无码一区二区三区| 欧美aaa在线| 国产精品欧美日韩一区二区| 艳妇乳肉豪妇荡乳av无码福利 | 国产日韩在线播放| 自拍偷拍精品视频| 奇米精品一区二区三区四区 | 久草视频在线免费| 日韩精品色哟哟| 国产精品久久久久久久久久| 美女黄页在线观看| 激情深爱一区二区| 91在线直播亚洲| 精品二区在线观看| 成人高清视频在线观看| 精品欧美国产一区二区三区不卡| 图片区 小说区 区 亚洲五月| 91在线国产福利| 日韩妆和欧美的一区二区| 成人福利在线| 亚洲丝袜精品丝袜在线| 18黄暴禁片在线观看| 国产夫妻在线| 91国产福利在线| 一级黄色高清视频| 精品亚洲精品| 尤物tv国产一区| 91视频综合网| 99国产精品久久久久久久成人热| 日本不卡高字幕在线2019| www.av88| 国产成人8x视频一区二区| 精品高清视频| 香蕉视频网站在线观看| 一区二区三区四区不卡视频| 男人靠女人免费视频网站| 成人自拍视频网| 日韩精品一区二区在线| 中文字幕一区二区人妻在线不卡| 欧美老女人另类| 欧美激情免费在线| 69av视频在线观看| 国产福利91精品| 日本不卡高清视频一区| 国产不卡在线| 日本韩国精品一区二区在线观看| 中文字幕第一页在线视频| 黑人久久a级毛片免费观看| 日韩大陆毛片av| 顶级黑人搡bbw搡bbbb搡| 亚洲精品欧洲| 亚洲mm色国产网站| 精品999视频| 夜夜揉揉日日人人青青一国产精品| 日韩黄色片视频| 国产视频一区二| 亚洲欧美国产日韩中文字幕| 久久成人在线观看| 男女男精品网站| 久久av免费一区| 中文字幕有码在线观看| 欧美亚洲一区二区在线| 超碰男人的天堂| 亚洲欧美综合| 国产欧美亚洲精品| 你懂的视频在线播放| 一区二区三区四区激情| 色呦色呦色精品| 色棕色天天综合网| 国内精品久久久久久| 国产又大又粗又长| 国产色产综合色产在线视频| 日本a视频在线观看| 激情五月综合婷婷| 日韩一区二区在线视频| 免费在线不卡av| 久久一区二区三区四区| 五月丁香综合缴情六月小说| 伊人久久大香线蕉av超碰| 不卡毛片在线看| 一区二区三区免费观看视频| 国产欧美一区二区精品性色超碰| av动漫免费看| 亚洲精品国产精品粉嫩| 午夜精品一区二区三区在线视频 | 成人毛片老司机大片| 麻豆视频传媒入口| 亚洲男人在线| 日韩在线观看免费高清完整版| 黄色av一区二区| 久久你懂得1024| 99爱视频在线| 女人av一区| 人人做人人澡人人爽欧美| 三级视频在线| 欧美性感美女h网站在线观看免费| 国产精品久久久久久久无码| 黄色成人在线网址| 国产精品一区二区三区在线观| 污视频在线看网站| 精品成人一区二区三区| 国产一级生活片| av影院午夜一区| 久久久久狠狠高潮亚洲精品| 国产成人黄色| 国产精品久久久久久久7电影| av在线天堂| 欧美精品一二三区| 欧美国产日韩在线观看成人| 国产乱国产乱300精品| 狠狠干视频网站| 国产福利资源一区| 欧美在线视频一区二区| av在线播放av| 日韩欧美成人午夜| 日韩手机在线观看| 国产日韩精品一区二区三区在线| 亚洲一级片免费| 一区二区三区四区日韩| 国产日韩欧美亚洲一区| 91av亚洲| y97精品国产97久久久久久| www.黄色国产| 高跟丝袜一区二区三区| 国产视频不卡在线| 国产精品99久久久久久似苏梦涵| 福利视频一区二区三区四区| 国产a久久精品一区二区三区| 国产色视频一区| 青草青在线视频| 亚洲欧美激情另类校园| 97av免费视频| 午夜精品久久久久久久久久久| 乐播av一区二区三区| 国产麻豆一精品一av一免费| 自慰无码一区二区三区| 久久一本综合| 久久66热这里只有精品| 亚洲二区av| 欧美综合一区第一页| 日本三级在线播放完整版| 亚洲激情在线观看| 亚洲一二区视频| 欧美性猛交xxxx久久久| 欧美在线视频第一页| 久久久精品影视| 女教师高潮黄又色视频| 日韩高清一级片| 国产真人做爰毛片视频直播| 久久综合国产| 久久精品国产美女| 一区二区三区欧洲区| 国产精品久久久久久久午夜| www.51av欧美视频| 日韩视频在线免费观看| 免费在线黄色影片| 欧美大胆一级视频| 亚洲天堂视频在线| 色拍拍在线精品视频8848| 久久久.www| 国产精品久久久久毛片软件| 国产色视频一区二区三区qq号| 国产馆精品极品| 污污的视频免费| 爽好久久久欧美精品| 极品粉嫩国产18尤物| 久久精品久久久| 五月天亚洲综合情| 一本久久青青| 精品乱子伦一区二区三区| 91成人在线精品视频| 亚洲v日韩v综合v精品v| 日日狠狠久久| 国产精品在线看| 蜜桃视频成人m3u8| 91成人性视频| 蜜桃视频m3u8在线观看| 欧美精品激情在线| a视频在线观看免费| 久久视频免费观看| 成人福利片网站| 久久躁日日躁aaaaxxxx| 麻豆传媒免费在线观看| 中文字幕日韩欧美在线| 第一页在线观看| 国产一区二区动漫| 国产美女视频一区二区三区| 亚洲男子天堂网| 日本精品专区| 亚洲欧美中文在线视频| 日韩av成人| 亚洲色图激情小说| 国产中文字幕在线视频| 亚洲欧洲视频在线| 国产高清av在线| 在线观看亚洲区| 天堂аⅴ在线地址8| 日韩亚洲欧美成人| а天堂中文在线官网| 欧美久久精品一级黑人c片| 亚洲夜夜综合| 97久久国产精品| 东京一区二区| 国产精品三级美女白浆呻吟| 亚洲毛片在线免费| 91视频免费进入| 福利电影一区| 免费看成人午夜电影| 成人aaaa| 亚洲大片精品永久免费| 亚洲五月综合| 亚洲欧美电影在线观看| 日韩成人精品一区二区| 椎名由奈jux491在线播放| 综合色一区二区| 丁香花在线影院观看在线播放| 99国产精品久久久久久久| 国产淫片av片久久久久久| 免费成人你懂的| 亚洲丝袜在线观看| 成人高清视频免费观看| 在线观看国产精品一区| 一色桃子久久精品亚洲| 久久精品国产亚洲av高清色欲| 精品成人在线视频| 凹凸精品一区二区三区| 91精品在线麻豆| 天堂在线视频免费| 亚洲小视频在线观看| av网站在线看| 2019中文字幕全在线观看| 免费污视频在线一区| 91九色在线观看| 亚洲自拍都市欧美小说| 中文字幕剧情在线观看一区| 亚洲天堂男人| 男女男精品视频站| 高潮精品一区videoshd| 一级特黄曰皮片视频| 亚洲专区一二三| 波多野结衣视频网址| 欧美不卡一区二区| 国产视频二区在线观看| 欧美黑人xxxⅹ高潮交| 国产成人精品一区二三区在线观看| 亚洲在线观看视频网站| 女人丝袜激情亚洲| 日韩欧美猛交xxxxx无码| 日韩主播视频在线| 催眠调教后宫乱淫校园| 国产精品女上位| 一级免费在线观看| 91精品国产免费久久综合| 五月婷婷深深爱| 欧美成aaa人片在线观看蜜臀| 伊人久久视频| 成人91视频| 91综合在线| 日韩福利视频在线| av高清不卡在线| 清纯粉嫩极品夜夜嗨av| 欧美午夜电影一区| 欧美成人综合在线| 欧美精品久久一区二区| 99精品美女视频在线观看热舞| 欧美激情国产日韩| 国产综合自拍| 手机在线免费毛片| 国产精品嫩草99a| 免费又黄又爽又猛大片午夜| 亚洲第一男人av| 亚洲妇熟xxxx妇色黄| 成人中文字幕在线观看| 日韩在线观看一区 | 国产精品麻豆免费版| 99精品视频在线观看播放| 狠狠操精品视频| 久久亚洲精华国产精华液| 日韩成人高清视频| 欧美videofree性高清杂交| 岛国成人毛片| 亚洲精品欧美日韩| 91成人影院| 中文字幕剧情在线观看| 中文字幕在线视频一区| 在线观看一二三区| 中文字幕精品在线视频| 成人国产激情| 亚洲永久一区二区三区在线| 日本成人在线视频网站| 成人性生交大片免费看无遮挡aⅴ| 欧美性猛交xxxx免费看| 男操女在线观看| 国产精品吊钟奶在线| 精品国产欧美日韩| 三上悠亚av一区二区三区| 国产精品乱码一区二区三区软件| 老熟妇一区二区三区啪啪| 日韩中文字幕网站| 四虎影视国产精品| 日本xxxxx18| 国产成人精品免费在线| 日操夜操天天操| 亚洲精品久久视频| 成人软件在线观看| 亚洲成人精品电影在线观看| 久久国产精品99久久久久久老狼| 无码人妻精品中文字幕| 日韩精品一区二区三区四区| 国产经典三级在线| 久久久福利视频| 美女在线观看视频一区二区| 国产精品精品软件男同| 欧美成人a在线| 无遮挡在线观看| 亚洲春色综合另类校园电影| 国产在线播放一区三区四| 国产真实夫妇交换视频| 精品亚洲一区二区三区在线观看| 中文另类视频| 国产成人免费高清视频| 成人福利视频网站| 日韩不卡高清视频| 久久综合免费视频| 久久久久观看| www.亚洲高清| 亚洲va欧美va人人爽午夜| 九九热视频在线观看| 亚洲一区二区三| 久久久精品网| 超碰手机在线观看| 日韩精品在线免费观看| 老司机精品视频网| 日本xxxxxxxxxx75| 国产精品国产三级国产专播品爱网 | 久久天天狠狠| 激情五月婷婷综合| av大片免费观看| 啊v视频在线一区二区三区| 欧洲在线一区| 自拍一级黄色片| 色呦呦国产精品| 欧美人动性xxxxz0oz| 天堂精品一区二区三区| 成人av网站在线观看免费| 在线观看免费视频a| 4388成人网|