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

既然有HTTP協議,為什么還要有RPC

開發 架構
不管是HTTP還是RPC,它們都有個特點,那就是消息都是客戶端請求,服務端響應。客戶端沒問,服務端肯定就不答,這就有點僵了,但現實中肯定有需要下游主動發送消息給上游的場景。

我想起了我剛工作的時候,第一次接觸RPC協議,當時就很懵,我HTTP協議用的好好的,為什么還要用RPC協議?

于是就到網上去搜。

不少解釋顯得非常官方,我相信大家在各種平臺上也都看到過,解釋了又好像沒解釋,都在用一個我們不認識的概念去解釋另外一個我們不認識的概念,懂的人不需要看,不懂的人看了還是不懂。

這種看了,又好像沒看的感覺,云里霧里的很難受,我懂。

為了避免大家有強烈的審丑疲勞,今天我們來嘗試重新換個方式講一講。

從TCP聊起

作為一個程序員,假設我們需要在A電腦的進程發一段數據到B電腦的進程,我們一般會在代碼里使用socket進行編程。

這時候,我們可選項一般也就TCP和UDP二選一。TCP可靠,UDP不可靠。除非是馬總這種神級程序員(早期QQ大量使用UDP),否則,只要稍微對可靠性有些要求,普通人一般無腦選TCP就對了。

類似下面這樣。

fd = socket(AF_INET,SOCK_STREAM,0);

其中SOCK_STREAM,是指使用字節流傳輸數據,說白了就是TCP協議。

在定義了socket之后,我們就可以愉快的對這個socket進行操作,比如用bind()綁定IP端口,用connect()發起建連。

圖片

握手建立連接流程

在連接建立之后,我們就可以使用send()發送數據,recv()接收數據。

光這樣一個純裸的TCP連接,就可以做到收發數據了,那是不是就夠了?

不行,這么用會有問題。

使用純裸TCP會有什么問題

八股文常背,TCP是有三個特點,面向連接、可靠、基于字節流。

圖片

TCP是什么

這三個特點真的概括的非常精辟,這個八股文我們沒白背。

每個特點展開都能聊一篇文章,而今天我們需要關注的是基于字節流這一點。

字節流可以理解為一個雙向的通道里流淌的數據,這個數據其實就是我們常說的二進制數據,簡單來說就是一大堆 01 串。純裸TCP收發的這些 01 串之間是沒有任何邊界的,你根本不知道到哪個地方才算一條完整消息。

圖片

01二進制字節流

正因為這個沒有任何邊界的特點,所以當我們選擇使用TCP發送"夏洛"和"特煩惱"的時候,接收端收到的就是"夏洛特煩惱",這時候接收端沒發區分你是想要表達"夏洛"+"特煩惱"還是"夏洛特"+"煩惱"。

圖片

消息對比

這就是所謂的粘包問題,之前也寫過一篇專門的文章聊過這個問題。

說這個的目的是為了告訴大家,純裸TCP是不能直接拿來用的,你需要在這個基礎上加入一些自定義的規則,用于區分消息邊界。

于是我們會把每條要發送的數據都包裝一下,比如加入消息頭,消息頭里寫清楚一個完整的包長度是多少,根據這個長度可以繼續接收數據,截取出來后它們就是我們真正要傳輸的消息體。

圖片

圖片消息邊界長度標志

而這里頭提到的消息頭,還可以放各種東西,比如消息體是否被壓縮過和消息體格式之類的,只要上下游都約定好了,互相都認就可以了,這就是所謂的協議。

每個使用TCP的項目都可能會定義一套類似這樣的協議解析標準,他們可能有區別,但原理都類似。

于是基于TCP,就衍生了非常多的協議,比如HTTP和RPC。

HTTP和RPC

我們回過頭來看網絡的分層圖。

圖片

圖片四層網絡協議

TCP是傳輸層的協議,而基于TCP造出來的HTTP和各類RPC協議,它們都只是定義了不同消息格式的應用層協議而已。

HTTP協議(Hyper Text Transfer Protocol),又叫做超文本傳輸協議。我們用的比較多,平時上網在瀏覽器上敲個網址就能訪問網頁,這里用到的就是HTTP協議。

圖片

HTTP調用

而RPC(Remote Procedure Call),又叫做遠程過程調用。它本身并不是一個具體的協議,而是一種調用方式。

舉個例子,我們平時調用一個本地方法就像下面這樣。

res = localFunc(req)

如果現在這不是個本地方法,而是個遠端服務器暴露出來的一個方法remoteFunc,如果我們還能像調用本地方法那樣去調用它,這樣就可以屏蔽掉一些網絡細節,用起來更方便,豈不美哉?

res = remoteFunc(req)

圖片

RPC可以像調用本地方法那樣調用遠端方法

基于這個思路,大佬們造出了非常多款式的RPC協議,比如比較有名的gRPC,thrift。

值得注意的是,雖然大部分RPC協議底層使用TCP,但實際上它們不一定非得使用TCP,改用UDP或者HTTP,其實也可以做到類似的功能。

圖片

圖片基于TCP協議的HTTP和RPC協議

到這里,我們回到文章標題的問題。

既然有HTTP協議,為什么還要有RPC?

其實,TCP是70年代出來的協議,而HTTP是90年代才開始流行的。而直接使用裸TCP會有問題,可想而知,這中間這么多年有多少自定義的協議,而這里面就有80年代出來的RPC。

所以我們該問的不是既然有HTTP協議為什么要有RPC,而是為什么有RPC還要有HTTP協議。

那既然有RPC了,為什么還要有HTTP呢?

現在電腦上裝的各種聯網軟件,比如xx管家,xx衛士,它們都作為客戶端(client)需要跟服務端(server)建立連接收發消息,此時都會用到應用層協議,在這種client/server (c/s)架構下,它們可以使用自家造的RPC協議,因為它只管連自己公司的服務器就ok了。

但有個軟件不同,瀏覽器(browser),不管是chrome還是IE,它們不僅要能訪問自家公司的服務器(server),還需要訪問其他公司的網站服務器,因此它們需要有個統一的標準,不然大家沒法交流。于是,HTTP就是那個時代用于統一 browser/server (b/s) 的協議。

也就是說在多年以前,HTTP主要用于b/s架構,而RPC更多用于c/s架構。但現在其實已經沒分那么清了,b/s和c/s在慢慢融合。很多軟件同時支持多端,比如某度云盤,既要支持網頁版,還要支持手機端和pc端,如果通信協議都用HTTP的話,那服務器只用同一套就夠了。而RPC就開始退居幕后,一般用于公司內部集群里,各個微服務之間的通訊。

那這么說的話,都用HTTP得了,還用什么RPC?

仿佛又回到了文章開頭的樣子,那這就要從它們之間的區別開始說起。

HTTP和RPC有什么區別

我們來看看RPC和HTTP區別比較明顯的幾個點。

服務發現

首先要向某個服務器發起請求,你得先建立連接,而建立連接的前提是,你得知道IP地址和端口。這個找到服務對應的IP端口的過程,其實就是服務發現。

在HTTP中,你知道服務的域名,就可以通過DNS服務去解析得到它背后的IP地址,默認80端口。

而RPC的話,就有些區別,一般會有專門的中間服務去保存服務名和IP信息,比如consul或者etcd,甚至是redis。想要訪問某個服務,就去這些中間服務去獲得IP和端口信息。由于dns也是服務發現的一種,所以也有基于dns去做服務發現的組件,比如CoreDNS。

可以看出服務發現這一塊,兩者是有些區別,但不太能分高低。

底層連接形式

以主流的HTTP1.1協議為例,其默認在建立底層TCP連接之后會一直保持這個連接(keep alive),之后的請求和響應都會復用這條連接。

而RPC協議,也跟HTTP類似,也是通過建立TCP長鏈接進行數據交互,但不同的地方在于,RPC協議一般還會再建個連接池,在請求量大的時候,建立多條連接放在池內,要發數據的時候就從池里取一條連接出來,用完放回去,下次再復用,可以說非常環保。

圖片

圖片connection_pool

由于連接池有利于提升網絡請求性能,所以不少編程語言的網絡庫里都會給HTTP加個連接池,比如go就是這么干的。

可以看出這一塊兩者也沒太大區別,所以也不是關鍵。

傳輸的內容

基于TCP傳輸的消息,說到底,無非都是消息頭header和消息體body。

header是用于標記一些特殊信息,其中最重要的是消息體長度。

body則是放我們真正需要傳輸的內容,而這些內容只能是二進制01串,畢竟計算機只認識這玩意。所以TCP傳字符串和數字都問題不大,因為字符串可以轉成編碼再變成01串,而數字本身也能直接轉為二進制。但結構體呢,我們得想個辦法將它也轉為二進制01串,這樣的方案現在也有很多現成的,比如json,protobuf。

這個將結構體轉為二進制數組的過程就叫序列化,反過來將二進制數組復原成結構體的過程叫反序列化。

圖片

圖片序列化和反序列化

對于主流的HTTP1.1,雖然它現在叫超文本協議,支持音頻視頻,但HTTP設計初是用于做網頁文本展示的,所以它傳的內容以字符串為主。header和body都是如此。在body這塊,它使用json來序列化結構體數據。

我們可以隨便截個圖直觀看下。

圖片

圖片HTTP報文

可以看到這里面的內容非常多的冗余,顯得非常啰嗦。最明顯的,像header?里的那些信息,其實如果我們約定好頭部的第幾位是content-type,就不需要每次都真的把"content-type"這個字段都傳過來,類似的情況其實在body的json結構里也特別明顯。

而RPC,因為它定制化程度更高,可以采用體積更小的protobuf或其他序列化協議去保存結構體數據,同時也不需要像HTTP那樣考慮各種瀏覽器行為,比如302重定向跳轉啥的。因此性能也會更好一些,這也是在公司內部微服務中拋棄HTTP,選擇使用RPC的最主要原因。

圖片

HTTP原理

圖片RPC原理

當然上面說的HTTP,其實特指的是現在主流使用的HTTP1.1,HTTP2在前者的基礎上做了很多改進,所以性能可能比很多RPC協議還要好,甚至連gRPC底層都直接用的HTTP2。

那么問題又來了。

為什么既然有了HTTP2,還要有RPC協議?

這個是由于HTTP2是2015年出來的。那時候很多公司內部的RPC協議都已經跑了好些年了,基于歷史原因,一般也沒必要去換了。

總結

  • 純裸TCP是能收發數據,但它是個無邊界的數據流,上層需要定義消息格式用于定義消息邊界。于是就有了各種協議,HTTP和各類RPC協議就是在TCP之上定義的應用層協議。
  • RPC本質上不算是協議,而是一種調用方式,而像gRPC和thrift這樣的具體實現,才是協議,它們是實現了RPC調用的協議。目的是希望程序員能像調用本地方法那樣去調用遠端的服務方法。同時RPC有很多種實現方式,不一定非得基于TCP協議
  • 從發展歷史來說,HTTP主要用于b/s架構,而RPC更多用于c/s架構。但現在其實已經沒分那么清了,b/s和c/s在慢慢融合。很多軟件同時支持多端,所以對外一般用HTTP協議,而內部集群的微服務之間則采用RPC協議進行通訊。
  • RPC其實比HTTP出現的要早,且比目前主流的HTTP1.1性能要更好,所以大部分公司內部都還在使用RPC。
  • HTTP2.0HTTP1.1的基礎上做了優化,性能可能比很多RPC協議都要好,但由于是這幾年才出來的,所以也不太可能取代掉RPC。

最后留個問題吧,大家有沒有發現,不管是HTTP還是RPC,它們都有個特點,那就是消息都是客戶端請求,服務端響應。客戶端沒問,服務端肯定就不答,這就有點僵了,但現實中肯定有需要下游主動發送消息給上游的場景,比如打個網頁游戲,站在那啥也不操作,怪也會主動攻擊我,這種情況該怎么辦呢?

參考資料

https://www.zhihu.com/question/41609070。

責任編輯:姜華 來源: 小白debug
相關推薦

2023-09-07 08:07:56

goHTTP網絡

2022-10-08 00:00:00

websocket協議HTTP

2023-01-12 09:01:01

MongoDBMySQL

2024-07-11 10:41:07

HTTPSHTTP文本傳輸協議

2022-06-07 08:39:35

RPCHTTP

2020-11-25 09:36:17

HTTPRPC遠程

2019-08-05 14:23:43

DockerKubernetes容器

2020-11-30 15:40:40

技術資訊

2019-07-15 14:12:01

UDPIP協議

2022-07-12 08:56:18

公平鎖非公平鎖Java

2023-10-24 15:15:26

HTTPWebSocket

2021-10-12 18:48:07

HTTP 協議Websocket網絡通信

2021-01-20 08:36:15

工具AtomicRefer JDK

2023-12-11 12:03:14

Python工具元組

2011-01-18 15:27:30

Postfix

2018-08-02 15:24:05

RPCJava微服務

2024-04-16 08:26:18

IP地址MAC地址

2021-12-20 10:30:33

forforEach前端

2022-09-13 08:44:02

IP網絡MAC地址

2020-09-12 13:55:03

HTTP3.0UDP協議
點贊
收藏

51CTO技術棧公眾號

国产精品88av| 欧美激情综合亚洲一二区| 亚洲福利国产| 伊人一区二区三区| 动漫精品视频| 在线能看的av| 欧美精品久久久久久| 538在线一区二区精品国产| 国产成人生活片| 亚洲三级中文字幕| 久久精品中文| 久久色免费在线视频| 精品人妻一区二区三区日产| 四虎影视4hu4虎成人| 亚洲女与黑人做爰| 丁香五月网久久综合| www.com亚洲| 91精品国产调教在线观看| 亚洲国内精品在线| 午夜剧场在线免费观看| aa视频在线观看| 国产亚洲精品bt天堂精选| 亚洲尤物视频网| 中文在线第一页| 欧美成人亚洲| 国产亚洲精品久久久久久牛牛| 国产资源中文字幕| 日韩电影大全网站| 亚洲国产美女搞黄色| 一区二区三区偷拍| 天堂视频中文在线| 国产98色在线|日韩| 国产精品久久久久久久天堂| 久久免费视频6| av中文一区| 日韩电影在线观看永久视频免费网站| 伊人色在线观看| 欧美日本高清一区| 日本精品久久久久中文| 欧美人妖在线观看| 日韩欧美在线123| 色婷婷成人在线| 英国三级经典在线观看| 亚洲主播在线播放| 一区二区精品视频| 二区三区在线| 91浏览器在线视频| 国产综合欧美在线看| 国产sm主人调教女m视频| 日韩和欧美一区二区| 91国内产香蕉| 国产 日韩 欧美 成人| 91精品天堂福利在线观看 | 免费看黄色a级片| 成人高清免费观看mv| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 99超碰麻豆| 国产精品玖玖玖| 奇米影视一区二区三区| 国产成人亚洲综合91精品| 国内精品福利视频| 亚洲毛片在线| 7m精品福利视频导航| 国产福利拍拍拍| 亚洲福利久久| 45www国产精品网站| 日韩免费不卡视频| 中文精品视频| 91精品国产一区| 国产成人精品片| 国产精品综合色区在线观看| 1769国产精品| 久久夜色精品国产噜噜亚洲av| 亚洲欧美日韩专区| 国产精品大片wwwwww| 日韩乱码一区二区三区| 免费美女久久99| 国产日韩欧美在线视频观看| 91免费视频播放| 激情文学综合丁香| 97超级碰碰| 免费a视频在线观看| 97se亚洲国产综合自在线观| 欧美国产综合视频| 成人在线观看黄色| 中文字幕在线一区二区三区| 国产专区在线视频| av中文字幕在线观看第一页 | 波多野结衣在线播放| 欧美日韩国产一区二区| 免费日韩视频在线观看| 巨胸喷奶水www久久久免费动漫| 欧美午夜片在线观看| 蜜桃福利午夜精品一区| 136国产福利精品导航网址应用| 精品国产一区久久| 亚洲精品成人无码熟妇在线| 青青一区二区三区| 久久成人亚洲精品| 九九九在线观看| 老司机精品视频在线| 91九色在线观看| 天堂在线观看免费视频| 欧美高清在线一区| 免费人成自慰网站| 欧美影视资讯| 欧美v亚洲v综合ⅴ国产v| 黑人巨大精品欧美| 亚洲色图二区| 清纯唯美亚洲激情| a级片免费视频| 国产校园另类小说区| 久久久无码中文字幕久...| 天堂av在线网| 欧美一区二区三区四区五区| 久久人人爽人人人人片| 久久资源中文字幕| 97久久精品国产| 一卡二卡三卡在线| 91美女视频网站| av中文字幕av| 精品视频一区二区三区四区五区| 精品日韩成人av| 亚洲激情图片网| 国产日韩欧美三区| 91黄在线观看| 思思99re6国产在线播放| 亚洲v日本v欧美v久久精品| 亚洲小视频网站| 亚洲人成精品久久久| 欧美激情精品久久久久| 一区二区久久精品66国产精品 | 91免费看国产| 福利在线观看| 欧美日韩一区免费| 国内自拍偷拍视频| 婷婷激情综合| 国产精品久久久久久搜索 | a成人v在线| 亚洲国产日韩欧美综合久久| 中文字幕av播放| 精品中文字幕一区二区| 亚洲欧美影院| 澳门av一区二区三区| 日韩精品极品视频免费观看| 久久综合激情网| 国产精品888| 中文字幕免费高| 国产成人福利夜色影视| 国产亚洲xxx| 亚洲 日本 欧美 中文幕| 91视视频在线观看入口直接观看www | 久久精品人人做人人爽人人| 极品美女扒开粉嫩小泬| 国产亚洲成av人片在线观黄桃| 久久综合五月天| 国产精品久久久久久久久久久久久久久久 | 亚洲高清久久久久久| 免费一级片视频| 国产成人精品亚洲777人妖| 潘金莲一级淫片aaaaaa播放1| 欧美日韩伦理一区二区| 上原亚衣av一区二区三区| 真实新婚偷拍xxxxx| 欧美激情一区二区三区| 久久久精品三级| 欧美一区二区性| 国产精品热视频| 国产高清在线| 欧美日韩三级一区| 在线免费看av网站| 粉嫩一区二区三区在线看| 久久精品xxx| 极品尤物一区| 热99精品里视频精品| 国产资源在线播放| 精品视频在线免费看| 久久av红桃一区二区禁漫| 国产在线播精品第三| 九一免费在线观看| 加勒比色老久久爱综合网| 欧美综合一区第一页| 国产主播福利在线| 7777精品伊人久久久大香线蕉超级流畅| 国产麻豆a毛片| 国产乱码字幕精品高清av| 91动漫在线看| 伊人久久综合影院| 国产精品直播网红| 三级网站视频在在线播放| 亚洲精品成人免费| 国产亚洲欧美日韩高清| 亚洲欧洲av在线| 91精品又粗又猛又爽| 久久狠狠婷婷| 一区在线电影| 国产乱人伦丫前精品视频| 国产91色在线播放| www红色一片_亚洲成a人片在线观看_| 精品国产一区a| 波多野结衣毛片| 亚洲免费在线视频一区 二区| 亚洲啪av永久无码精品放毛片| 久久国产免费| 2021狠狠干| 精品一区免费| 亚洲精品欧美日韩专区| 国产网站在线| 色偷偷av一区二区三区乱| 成人午夜视频一区二区播放| 在线中文字幕一区| 欧美激情一区二区视频| 国产日本一区二区| 日本少妇xxxx软件| 美女精品一区二区| 成人午夜精品久久久久久久蜜臀| 日韩电影在线视频| 精品一区久久久| 精品99re| 国产精品欧美风情| 亚洲性色av| 欧美极品美女电影一区| 色综合久久久久综合一本到桃花网| 精品国产91乱码一区二区三区 | 亚洲人视频在线观看| 7777精品久久久大香线蕉| 波多野结衣电车| 亚洲福利视频一区二区| 黑人操日本美女| 国产日韩欧美不卡在线| 中国极品少妇videossexhd| 激情久久五月天| 男女啪啪网站视频| 亚洲一区观看| 国产真人做爰毛片视频直播| 午夜欧美在线| 亚洲欧美日韩另类精品一区二区三区 | 超碰91在线播放| 久久国产福利国产秒拍| 爆乳熟妇一区二区三区霸乳| 国产亚洲一级| 青青草国产精品视频| 国模一区二区三区| 无码人妻精品一区二区蜜桃百度| 亚洲成av人片乱码色午夜| 亚洲欧洲一二三| 日韩欧美1区| 欧美精品v日韩精品v国产精品| 精品视频自拍| 国产一区高清视频| 国产精品任我爽爆在线播放| 99在线热播| 日韩精品成人在线观看| 91色在线视频| 国产精品一区二区美女视频免费看| 国产精品久久久久久久久免费看| 欧美一级大片| 国产精品第一第二| 久久三级毛片| 国产日韩在线播放| 中文字幕日本一区| 亚洲一区二区三区视频播放| 深夜福利一区| 国产精品国色综合久久| 久久男人av| 久久国产一区二区| 亚洲丝袜啪啪| 日韩欧美一区二区视频在线播放| 欧美日韩中字| 在线视频一区观看| 牛牛国产精品| 日本香蕉视频在线观看| 日韩一级精品| 日韩av资源在线| 日本伊人午夜精品| 中文字幕第一页在线视频| 国产精品一区二区在线看| 性猛交╳xxx乱大交| 91蜜桃免费观看视频| 日韩影视一区二区三区| **性色生活片久久毛片| 国产亚洲色婷婷久久99精品| 精品久久久久人成| 最近中文字幕在线视频| 欧美一级日韩一级| 天堂中文网在线| 亚洲午夜色婷婷在线| a视频在线播放| 国内精品视频久久| 深夜视频一区二区| 亚洲一区二区免费在线| 免费福利视频一区| 亚洲欧美电影在线观看| 欧美三区不卡| av视屏在线播放| 国产一区二区美女| 泷泽萝拉在线播放| 日韩一区欧美一区| 黄色一级片免费在线观看| 欧美喷水一区二区| 天堂在线资源8| 日韩一区二区三区xxxx| 深夜福利视频一区二区| 国产主播欧美精品| 日韩电影不卡一区| 综合视频在线观看| 麻豆久久精品| 中文字幕在线观看91| 国产亚洲午夜高清国产拍精品 | 亚洲精品911| 一个色综合导航| www.综合| 成人精品网站在线观看| 妖精一区二区三区精品视频| 欧美日韩亚洲国产成人| 久久在线91| 大桥未久恸哭の女教师| 中文字幕一区二区日韩精品绯色| 日本黄色片视频| 欧美一区二区视频在线观看2020 | 综合国产在线视频| 一个人看的www视频在线免费观看| 国产综合久久久久| 国语产色综合| 欧美日韩成人免费视频| 国产精品88888| 日韩国产第一页| 91久久香蕉国产日韩欧美9色| 秋霞欧美在线观看| 理论片在线不卡免费观看| 四虎影视4hu4虎成人| 久久96国产精品久久99软件| 欧美黄色大片网站| 日本美女视频一区| 欧美经典一区二区| 国产69精品久久久久久久久久| 日韩欧美美女一区二区三区| 欧美一区二区三区| 国产精品旅馆在线| 精品国产乱码久久久久久果冻传媒| 浮妇高潮喷白浆视频| 不卡欧美aaaaa| 国产亚洲色婷婷久久99精品| 日韩视频中午一区| 在线看三级电影| 91精品视频一区| 天天综合精品| 亚洲无在线观看| 自拍偷拍国产精品| 91麻豆国产在线| 久久视频在线直播| 国产美女亚洲精品7777| 在线观看三级网站| 国内外成人在线| 国产三级国产精品国产国在线观看 | 亚洲国产黄色片| 爱搞国产精品| 久久久国产精品一区二区三区| 一区二区精品| 日韩一级视频在线观看| 一本一本大道香蕉久在线精品| 三级毛片在线免费看| 热久久这里只有精品| 国产99久久精品一区二区300| 青青青在线播放| 欧美国产在线观看| 国产一区二区在线视频聊天| 久久久久www| 亚洲码欧美码一区二区三区| 青青青在线观看视频| 99在线精品免费| 国产成人无码av| 在线观看国产精品淫| 婷婷激情成人| 在线观看av的网址| av色综合久久天堂av综合| 日韩免费av网站| 日韩在线视频免费观看高清中文| 一区二区三区| 99在线观看视频免费| 久久综合九色综合欧美就去吻| 亚洲天堂五月天| 久久影视电视剧免费网站| 亚洲三区欧美一区国产二区| 国产精品999视频| 国产午夜精品久久| 国产麻豆精品一区| 992tv成人免费影院| 成人国产精品一级毛片视频| 三日本三级少妇三级99| 性欧美疯狂xxxxbbbb| 国产精品毛片一区二区三区四区| 成人午夜小视频| 一本色道久久精品| 日韩影视一区二区三区| 精品美女一区二区| 日本黄色一区| 成人av在线播放观看| 国产欧美一区二区精品秋霞影院| 亚洲va欧美va|