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

React:我們即將和后端 API 告別?

開發 新聞
Server Components 到底是什么?他會像當年的 Hooks 一樣對整個 React 生態帶來巨大的影響么?

2020 年底,React 公布了一個全新的特性:Server Components,當時它還處于調研和試驗階段,并沒有正式發布,隨著 React 18.0 版本的正式發布,Server Component 的腳步聲也越來越近了,不出意外的話,應該會在今年的某個 React 18 的 minor 版本中正式發布。

Server Components 聽起來好像并不那么激動人心,React 18 所發布的各種特性也似乎平平無奇,自從 Hooks 面世已經三年多過去了,React 似乎停滯了前進的腳步,只是在現有的基礎上做些小修小補?

No。

Concurrent rendering(React 18 新帶來的特性)是一種本質上的改變,它本身不像 Hooks 那樣對開發體驗有著近乎翻天覆地的變革,但是這種底層渲染能力/機制的調整,會帶來非常非常多的可能性,例如:Suspense、OffScreen、Server Components

這三種特性,目前都沒有生產可用,但是等到未來他們正式發布并漸漸被大面積使用時,每一項特性都會帶來非常顯著的開發體驗的提升。而如果讓我從這些未來會出現的新特性中選一個最期待的,那毫不疑問會是 Server Component。

所以,Server Components 到底是什么?他會像當年的 Hooks 一樣對整個 React 生態帶來巨大的影響么?在我們回答這些問題之前,很有必要先解釋一下 Server Components 是什么,又解決了什么問題。

注:下文中的很多內容受 Dan 和 Lauren 的這份 演講視頻 [1] 所啟發,如果你想更深入的了解即將到來的 React Server Component,那么非常推薦這段視頻 事實上,這篇文章并不是一份對 Server Components 的用法教學,也不會涵蓋 Server Components 的每一處細節(甚至為了方便表述會有意地略過一些細節),因此, 在讀下文之前,最好是對 Server Components 已經有所了解

背景:前后端分離

“前后端分離”是當下主流的 web 研發模式,后端存儲數據,并把對數據的操作(增刪改查)封裝成接口,通過后端服務提供給前端,前端應用發送請求(例如 http 請求或者 rpc 請求)去調用后端提供的接口,從而獲取到數據或者是對數據進行修改。

這可能是十幾年以來非常普遍的研發模式了,也因此,我們被區分成前端開發和后端開發,各自負責著“楚河漢界”的一側。我們在各自那一側都做了非常多的優化、創新、突破,在后端,我們有容器化、微服務、SSR,在前端,我們有 code spliting、前端路由、React Hooks。

但是對于 API 層,我們似乎這么多年以來都未曾有過關注,即便是有,也僅僅是停留于 API 傳輸性能(例如 grpc)、API 的存在形式(例如 Restful 和 GraphQL)、API 的工程化管理(例如 Postman)。

并非是想說 API 一個邪惡而糟糕的設計,但是自從 Restful 的概念被提出以來,已經 22 年過去了,我們是不是應該在現在重新思考一下:

以網絡請求作為前后端的分界是最優解嗎?

如果沒有 API,我們該如何架構和開發 Web 應用?

癥結所在

讓我們再回到剛剛的那張圖,考慮一下 API 在帶來職責分工明晰之外,同時也帶來了哪些問題。

請求瀑布流(Waterfall)

就像 Remix [2] 首頁上所展示的,基于 API 和嵌套路由的前端站點,在請求時會出現瀑布流的現象:

數據的之間可能是有前后的依賴關系,抑或是和組件強耦合在一起,需要等待組件的 bundle 加載完成之后才能發出請求,這些都導致了請求瀑布流現象的出現。

并發請求

后端希望實現小而美的接口,每個接口有獨立的職責,例如:

  • getUser 獲取用戶信息
  • getSongs?page=12 獲取歌曲列表
  • getNotifactions 獲取通知列表
  • getFavoirateSongs 獲取收藏的歌曲
  • getNewSongs 獲取新發布的歌曲
  • getRecommendSong 獲取今日推薦的歌曲及對應的文案
  • getSearchBarHotKeywords 獲取熱門的搜索詞
  • getAdBanner 獲取廣告 banner 內容
  • getRecentSongs 獲取最近聽歌記錄
  • getRecommendedPlayList 獲取推薦的歌單列表
  • ……(實在太多了)

每一個接口,單獨拿出來看都是合理的,但是放在一起,就會發現用戶每次打開這樣一個音樂 web app,都要發送至少十幾個接口,對于一些稍微復雜一點的網頁,首次加載就需要請求幾十個接口也絲毫不奇怪。

每一個接口的請求,都會帶來網絡開銷,甚至在有些環境下會有最大并發請求數量的限制(例如在支付寶客戶端那的 rpc 請求),或許網絡層的 automatic batching 可以解決這個問題,但是遺憾的是,在目前的技術體系內,這個問題并不好解決(這里沒有寫不能解決,是因為的確有一些可行的方案,例如 BFF、依賴網關來做接口聚合,但它們都引入的新的問題)。

前端包體積(Bundle size)

包體積已經是“現代”前端開發領域飽受詬病的一點了,動輒幾百 k 的 js 文件,似乎已經背離了瀏覽器是用來“瀏覽”網頁的初衷了。并不是說我們都要做一個瀏覽器原教旨主義者,但是如果網頁能夠在不損失用戶體驗和開發體驗的前提下,恢復到非常輕量和快速的狀態,難道不是一件好事么?

協作成本(溝通、邏輯感知和封閉)

在我個人看來,這是大型項目或需要長期維護的應用中最令人頭疼的問題了。

假設我們現在有一個非常巨大的應用,需要有十幾位開發者共同編寫和維護,那如何分工?答案必然是先做模塊化,我們把整個應用拆分成幾個彼此盡量獨立的模塊,再由每個人或每幾個人負責其中的一個模塊。

模塊化帶來的好處是邊界清晰(看到一個需求就能判斷出來涉及到哪個或哪些模塊做哪些改動)、職責明確(每個人都有自己確定的職責)、減少溝通成本(由于模塊內部的邏輯是封閉的,不需要外部感知,所以可以降低溝通成本)。

對于前兩點,目前的前后端分離架構都還是及格的,但對于第三點,我覺得基于網絡請求接口的協作模式,在很多情況下并沒有有效地做到邏輯內部封閉、減少需要前后端之間來回溝通的信息量。

舉個例子,對于這樣的一個頁面:

看起來非常簡單,一些信息的展示,加上一個充值按鈕,這就是我最開始所設想的。

然而,隨著這個項目不斷的推進,我發現,原本以為是純靜態的標題文案,實際上是需要后端控制的,根據當前用戶的所屬人群來動態判斷文案內容;我發現,由于前端金額計算的可靠性問題,折扣和實際支付相關的內容都是需要在后端預處理之后展示在前端的;

我發現,倒計時的參考時間是需要依靠后端返回的;我發現,按鈕的文案、點擊行為,是需要后端控制的,特別是按鈕的點擊行為,最終方案是后端返回一個枚舉,前端根據這個值來 switch case 一下走不同的邏輯(例如下單、引導先進行注冊和綁卡)……

為了閱讀體驗,我只是列舉了其中隨手想到的一小部分,如果總結一下,那就是,后端和前端并沒有因為“前后端分離”而做到解藕,反倒是藕斷絲連,剪不斷理還亂。后端感知了過多的前端視圖層邏輯,就像是發明了一套 DSL(Domain Specific Language),而前端則是要寫一個針對這套 DSL 的解析器和渲染器。

回到我們剛剛提到的,模塊化帶來的好處。模塊化能夠降低溝通成本,有一個不可忽略前提,就是架構的合理性。模塊化并非是降低溝通成本的本質原因,也并非所有的模塊化實踐都能帶來溝通成本的降低。當前后端分離的實踐成為一個僵硬的、死板的“規范”,那它還能真正起到多少降低溝通成本的作用?一個大大的問號。

Server Components

再次申明一下,下文是假設讀者朋友已經對 Server Components [3] 有所了解

基于網絡請求的 API 模型,有一個大大的前提假設,就是前端應用和后端應用是兩個獨立的應用,但是為什么一定要是這樣?

或許我們可以讓后端應用直接渲染 HTML,用戶操作時,重新渲染一遍頁面?這其實就是在 Restful 時代之前的架構,有很多弊端,特別是可交互性差,不然也就不會出現后來 Restful 的盛行了。

那再或許,我們可以讓前端的 React 組件,運行在后端?

這就是 React Server Components。

一圖勝千言,在現在的前后端分離模式下,后端提供接口,前端的 React 組件調用接口。

而如果后端可以運行 React 組件,直接渲染 React 節點樹到前端,就不需要所謂的 API 的概念了。

后端運行 React 組件并不是什么新鮮事,我們在 SSR(Server Side Rending)早就習以為常了,但是需要特別注明的一點是,在 SSR 中,后端是運行了 React 組件,生成了一份初始狀態的 html,但這份 html 是沒有可交互性的,它只是為了讓用戶能盡早看到頁面而做的一種改良式的、修修補補一樣的優化。

而 Server Components 所帶來的,是我們可以把同一個項目中,一部分的組件作為 Server Components,另一部分組件,作為 Client Components,因此我們可以既享受到后端內部調用帶來的便捷、可維護性,又能保證頁面的可交互性幾乎沒有任何妥協。

如果你用過 PHP 或 Django,那你肯定非常熟悉這種模式:后端直接渲染 html 內容,瀏覽器只負責顯示,用戶點擊按鈕,那就重新請求、重新渲染頁面,如果頁面上需要一些復雜的動態交互,比如讓用戶可以把一個列表展開/收起,或者是點擊某個按鈕之后展示一個模態框,那可以借助于 jQuery 來實現。

PHP + bootstrap + jQuery,現在,Server Components 就像是這套范式的升級版,可以被稱為一種全新的“全棧”開發模式。

因為是在后端環境下,這些 Server Components 可以使用全部的后端能力,不管是中間件,還是其他后端微服務的調用,甚至是 db 的訪問(當然可以直接跑 SQL,但是更好的實踐是通過一個數據中間層),都可以實現。這樣一來,我們就可以直接把數據從源頭獲取,放到 React 組件的上下文中,那自然就不需要傳統意義上的 API 了。

更準確的說,API 并未消失,我們其實也不會和 API 就此說再見,而是讓它換了一種形式。有模塊化的地方,就會有 API,Restful 的 http 網絡請求固然是 API,但中間件暴露出來的方法,瀏覽器提供的 Date 對象,node 提供的文件讀取函數,db 提供的 SQL,這些全都是 API。

在這種新架構下,API 變成了后端里業務應用和上游服務之間的調用,變成了 Server Components 和 Client Components 之間的 props 傳遞,前者讓 API 變得更加干凈、更符合單一職責的原則,而后者讓 API 變得自然到你幾乎感知不到。

所以:

  • Server Components 允許我們不再按照 前端 - 后端 進行模塊的拆分,而是依照 業務應用 - 底層服務 來進行更合理的模塊拆分。從而可以理論上降低模塊之間的溝通成本(因為目前還沒有辦法實踐證明)。
  • 由于 Server Components 是在后端運行組件,直接通過網絡傳輸給前端進行渲染,因此很多大體積的包(例如 markdown 渲染、html sanitize)都不需要在前端下載和運行,從而很大程度上降低包體積。
  • 由于底層 db 或上游服務的調用都是發生在后端內部的,因此即便出現并發請求,所帶來開銷也遠遠小于前端并發調用后端的 Restful API。
  • 同理,請求瀑布流的問題也會因為調用開銷降低而消失或減輕。

想象

如果大膽想象一下的話,未來的研發模式可能這樣的:

開發者將不會再區分前端和后端,而是區分為業務應用開發和上游服務開發。現在的后端開發將(真正地)不再需要關注視圖邏輯,只聚焦于底層業務邏輯,為前端提供清晰好用、原子化的服務/接口;而現在的前端開發將會拓展到橫跨前端和后端(代碼運行環境上),負責的是在后端封裝好的一個個原子化的底層能力上,構建視圖層,而我們也需要一套全新的框架和基礎設施,來適配 Server Components。

目前,Server Components 還沒有正式發布,而即便正式發布之后,也還有長長的工程化落地的路要走,Server Components 增加了很多額外的限制,server、client、shared 的區分也可能會帶來一些理解成本。緩存、性能、server 重新渲染時的增量更新策略、發布時的可灰度性和可回滾性、業務中邊界情況的處理,還有很多的問題需要去解決,還有很多的未知尚未被驗證。

責任編輯:張燕妮 來源: 前端技術磚家
相關推薦

2022-05-09 08:22:09

ReactHooks

2022-03-31 18:59:43

數據庫InnoDBMySQL

2013-07-09 09:14:08

Windows XPOffice 2003

2022-03-08 17:52:58

TCP格式IP

2023-05-29 13:56:00

JSReact

2009-01-04 09:16:11

google Read開發APIGoogle API

2014-02-19 09:35:01

2015-03-19 14:17:48

2024-10-21 00:00:03

JavaScriptDate?API

2021-07-29 07:55:20

React實踐代碼

2025-06-12 08:52:18

WebWorkerJSAPI

2009-02-09 08:55:12

ArcGIS API發布Silverlight

2025-08-29 00:00:05

ViteReact風格

2017-10-11 13:25:00

前端

2015-09-02 09:55:03

云服務MBaaS移動三層架構

2016-08-22 13:31:05

前端架構前后端分離

2015-08-27 09:19:23

移動后端即服務MBaaSPaaS

2022-05-24 08:21:16

數據安全API

2018-10-23 14:24:10

2024-02-22 17:54:30

React編譯器團隊
點贊
收藏

51CTO技術棧公眾號

中文字幕第99页| 日本黄色网址大全| 国产丝袜在线播放| www.亚洲在线| 国产精品吹潮在线观看| 日韩欧美123区| 国产丝袜一区| 另类尿喷潮videofree| 亚洲色图 在线视频| 日韩精品最新网址| 国产精品v欧美精品v日本精品动漫| 国产精品色综合| 无码粉嫩虎白一线天在线观看| 亚洲最新av网址| 久久先锋资源| 不卡av电影在线播放| 欧美一级淫片播放口| 中文乱码字幕高清一区二区| 久9re热视频这里只有精品| 日本乱码高清不卡字幕| 日本福利视频网站| av电影在线观看一区二区三区| 国产福利一区二区三区视频在线 | 久久国产精品色av免费看| 一本在线高清不卡dvd| 一级特黄妇女高潮| a√在线中文网新版址在线| 99久久综合精品| 999在线观看免费大全电视剧| 波多野结衣激情视频| 亚洲国内自拍| 欧美国产在线视频| 成人免费视频国产免费观看| 欧美日韩色图| 亚洲欧美日韩国产精品| 美女黄色一级视频| 一区二区在线免费播放| 欧美麻豆精品久久久久久| 成人观看免费完整观看| а√在线天堂官网| 亚洲一区二区三区三| 黄色网址在线免费看| 日本a在线播放| 亚洲国产成人在线| 你懂的视频在线一区二区| 色屁屁草草影院ccyycom| 国产成人av福利| 99re在线观看| 国产香蕉在线观看| 国产麻豆视频一区二区| 国产精品久久久久久久久免费看| 欧美一区免费看| 天使萌一区二区三区免费观看| 欧美91福利在线观看| 7777久久亚洲中文字幕| 毛片在线能看| av日韩在线网站| 激情视频在线观看一区二区三区| 蜜桃av中文字幕| 成人教育av在线| 国产一区二区黄色| 天天干天天爽天天操| 播五月开心婷婷综合| 精品无码久久久久国产| 五月婷婷丁香花| 97久久超碰精品国产| 久久久久se| 国外av在线| 日本一区二区三区四区在线视频| 午夜精品美女久久久久av福利| www.成人.com| 亚洲色大成网站www久久九九| 欧美 另类 交| 第一中文字幕在线| 欧美色播在线播放| 欧美私人情侣网站| 激情中国色综合| 欧美一区二区三区在线电影| 极品白嫩少妇无套内谢| 成人在线视频中文字幕| 亚洲欧美激情在线视频| www久久久久久久| 久久久久美女| 午夜精品福利在线观看| 手机在线看片1024| 国产一区二区免费看| 国产精品大全| 触手亚洲一区二区三区| 亚洲精品国久久99热| 一二三四视频社区在线| 成人1区2区| 欧美不卡在线视频| 尤物网站在线观看| 久久亚洲在线| 性色av一区二区三区在线观看| 人妻中文字幕一区二区三区| 国产精品123| 99国产视频| 欧美在线观看成人| 国产无遮挡裸体视频在线观看| 欧美综合欧美视频| 精品无码av一区二区三区| 天美av一区二区三区久久| 日日噜噜噜夜夜爽亚洲精品| 日韩精品无码一区二区| 久久99精品国产麻豆婷婷洗澡| 亚洲一区二区日本| 韩国三级av在线免费观看| 亚洲午夜视频在线观看| 亚洲精品www.| 久久99国内| 欧美激情亚洲另类| 国产又黄又大又粗的视频| caoporn国产精品| 国产精品88久久久久久妇女| 免费观看成人性生生活片| 精品国产乱码久久久久久牛牛| 成人一级片免费看| 国产精品普通话对白| 99国精产品一二二线| 午夜视频在线观看网站| 欧美视频精品一区| av av在线| 中文字幕人成人乱码| 国产精品流白浆视频| 日韩在线免费看| 亚洲.国产.中文慕字在线| 日韩av片免费观看| 欧美在线电影| 国产成人拍精品视频午夜网站 | 欧洲亚洲视频| 久久夜色撩人精品| 老熟妇一区二区三区啪啪| 99视频在线精品| www.亚洲视频.com| 免费观看亚洲天堂| 久久伊人免费视频| ,一级淫片a看免费| 国产精品嫩草99a| 欧美成人三级在线播放| 欧美一区二区性| 国产精品视频精品| 丁香婷婷在线| 欧美日韩免费视频| 成年人看的免费视频| 奇米在线7777在线精品| 亚洲不卡中文字幕| 在线免费三级电影网站| 亚洲男人天堂久| 97人妻一区二区精品视频| 国产日韩欧美在线一区| 成人一区二区三| 欧美色网址大全| 国产精品色午夜在线观看| √天堂资源地址在线官网| 欧美日韩精品系列| 欧美a级片免费看| 国产麻豆精品视频| 国产精品自拍合集| 你懂的在线观看一区二区| 91成人在线播放| 国产一二在线观看| 欧美人成免费网站| 国产高潮国产高潮久久久91| 大陆成人av片| 亚洲精品中文字幕无码蜜桃| 成人羞羞网站| 亚洲专区国产精品| 91在线三级| 亚洲天堂网站在线观看视频| 中文字幕观看视频| 亚洲男同性恋视频| 99re这里只有| 日本在线不卡视频一二三区| 在线视频91| 北条麻妃在线一区二区免费播放 | 亚洲精品一区中文字幕乱码| 91丨九色丨海角社区| 国产精品欧美久久久久无广告| 天天久久综合网| 日韩视频二区| 亚洲午夜激情| av一级亚洲| 国产成人97精品免费看片| 欧美jizzhd69巨大| 亚洲成av人影院在线观看| 久久久久亚洲av成人毛片韩| 中文字幕 久热精品 视频在线| 下面一进一出好爽视频| 午夜在线a亚洲v天堂网2018| 精品久久免费观看| 青青草原在线亚洲| 成人黄色中文字幕| 手机在线观看av| 最近更新的2019中文字幕| 乱精品一区字幕二区| 日本精品一区二区三区高清 | 一区二区免费在线观看视频 | 青青草精品在线| 性色一区二区三区| 日本xxxxx18| 九九在线高清精品视频| 91九色蝌蚪成人| **欧美日韩在线观看| 欧美日韩成人免费| av国产在线观看| 日韩av中文字幕在线| 国产精品一区二区三区在线免费观看| 亚洲成av人片在线观看无码| 亚洲天堂网av在线| 久久久九九九九| 69亚洲乱人伦| 国产精品白丝jk黑袜喷水| 久草福利视频在线| 国产一区二区三区的电影 | 亚洲精品伊人| 国产精品96久久久久久又黄又硬| 毛片网站在线看| 久久久精品美女| 91在线导航| 亚洲男人天堂网| 性高潮久久久久久久久久| 日韩一级高清毛片| 国产精品系列视频| 欧美日韩国产免费| 中文字幕乱伦视频| 色婷婷激情一区二区三区| 欧美一二三区视频| 亚洲高清视频在线| 国产亚洲精品久久久久久无几年桃| 中文字幕亚洲区| 99久久精品久久亚洲精品| 国产午夜精品久久久久久免费视 | 亚洲天堂小视频| 精品综合久久久久久8888| 亚洲精品高清无码视频| 久久不射2019中文字幕| 69堂免费视频| 亚洲一区二区免费看| 亚洲精品无码国产| 影音先锋久久| 噜噜噜久久亚洲精品国产品麻豆 | 在线免费av播放| 青青草91视频| 女同激情久久av久久| 久久99精品久久久久久国产越南 | 97在线免费公开视频| 激情综合亚洲| 黄色av网址在线播放| 亚洲影院一区| 老头吃奶性行交视频| 日本视频一区二区三区| 9l视频白拍9色9l视频| 麻豆精品久久精品色综合| 中文字幕22页| 国产精品一区二区久激情瑜伽| 波多野结衣三级视频| 国产精品1区二区.| 艳妇乳肉豪妇荡乳xxx| 91欧美激情一区二区三区成人| 毛片网站免费观看| 国产精品网站在线播放| 欧美日韩午夜视频| 亚洲国产精品久久艾草纯爱| 中文字幕亚洲精品一区| 色哟哟亚洲精品| 91欧美日韩麻豆精品| 日韩久久久精品| 日色在线视频| 久久精品福利视频| 老司机深夜福利在线观看| 国产97色在线| 国产精品亚洲欧美一级在线| 国产精品一区二区免费看| 亚洲妇女av| 中文视频一区视频二区视频三区| 女人天堂亚洲aⅴ在线观看| 日韩av在线播放不卡| 蜜臀av一区二区| 日本人dh亚洲人ⅹxx| 久久久噜噜噜久噜久久综合| 精品一区二区在线观看视频| 亚洲国产一二三| 中文字幕av在线免费观看| 日韩女优av电影| 成人在线观看一区| 欧美日韩国产成人| 精品91久久| 成人免费视频观看视频| 天堂99x99es久久精品免费| 椎名由奈jux491在线播放| 伊人久久成人| 亚洲天堂av一区二区三区| 91亚洲男人天堂| 欧美激情图片小说| 色噜噜狠狠成人网p站| www.97超碰| 在线亚洲男人天堂| 久热在线观看视频| 91久久国产精品| 狠狠做六月爱婷婷综合aⅴ | 欧美福利精品| 亚洲欧美伊人| 一起操在线视频| 久久久精品影视| 国产盗摄x88av| 欧美日韩国产影片| 日本韩国精品一区二区| 欧美日韩高清在线观看| 日本在线一区二区| 欧美精品亚洲| 在线亚洲免费| 美国黄色一级视频| 亚洲日本在线天堂| 中文字幕久久熟女蜜桃| 亚洲老头老太hd| 9lporm自拍视频区在线| 91中文精品字幕在线视频| 成人免费在线播放| 无码aⅴ精品一区二区三区浪潮 | 欧美日韩在线视频免费播放| 欧美日韩一卡二卡| 成人资源www网在线最新版| 日韩av日韩在线观看| 天天躁日日躁狠狠躁欧美巨大小说| 成人区一区二区| 国产成人午夜99999| 婷婷社区五月天| 欧美性猛交xxxx黑人交| 久草在线网址| 国产精品99久久久久久www| 伊甸园亚洲一区| 日韩精品一区二区三区久久| av电影在线观看不卡| 国产在线观看免费av| 日韩限制级电影在线观看| av软件在线观看| 91系列在线播放| 欧美不卡高清| 老熟女高潮一区二区三区| 亚洲一区二区三区四区在线| 亚洲乱色熟女一区二区三区| 欧美国产第二页| 国产精品久久久网站| 国内精品视频一区二区三区| 不卡视频免费播放| 91浏览器在线观看| 国产偷国产偷亚洲清高网站| 久久久一本精品| 亚洲 国产 日韩 综合一区| 麻豆视频一区二区| 91av手机在线| 日韩一区二区免费电影| 污网站在线免费看| 国产亚洲精品久久飘花| 午夜亚洲一区| 东京热无码av男人的天堂| 欧美日韩国产高清一区二区| 国产黄大片在线观看画质优化| 91系列在线观看| 1024成人| 国产jk精品白丝av在线观看 | 色网站在线视频| 一区二区欧美在线观看| 天堂网在线资源| 国产成人精品午夜| 久久中文视频| 韩国三级在线看| 色婷婷久久久久swag精品| 日本在线视频网| 国产精品xxxx| 三级欧美在线一区| 国产极品美女在线| 亚洲国产精品热久久| 日本综合久久| 久久久无码中文字幕久...| 99免费精品视频| 中文字字幕在线中文乱码| 欧美www在线| 日韩成人动漫在线观看| 色一情一区二区| 午夜私人影院久久久久| www日韩tube| 好看的日韩精品视频在线| 奇米色777欧美一区二区| 久久久久香蕉视频| 一区三区二区视频| 国产精品白丝av嫩草影院| 老头吃奶性行交视频| 一区二区三区鲁丝不卡| 黄色在线免费观看大全| 成人av网站观看| 蜜桃av一区二区三区| 亚洲视频免费播放| 久久综合久久八八| 蜜桃一区二区| 视频免费在线观看| 777色狠狠一区二区三区| 欧美日韩123区| 国产免费裸体视频|