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

啥是 XXR ?認識前端項目渲染模式們

開發 前端
前端研發中有許多常見場景,根據不同的構建、渲染過程有不同的優劣勢和適用情況。本節將介紹各種渲染模式的基本特點、運作方式,還有對應的優缺點比較。

[[432754]]

這是我們團隊 @許濱楠 同學做的內部分享,科普當下流行的 CSR、SSR、SSG 等渲染模式的原理與優劣勢,相當有料。

PS:我們是字節游戲中臺前端團隊,日常學習氛圍濃厚,最近聽說要 10-7-5 了,還有大量 HC,歡迎自薦。

一、啥是「啥是 XXR ?」?

前端研發中有許多常見場景,根據不同的構建、渲染過程有不同的優劣勢和適用情況。如現代 UI 庫加持下常用的 CSR、具有更好 SEO 效果的 SSR (SPR)、轉換思路主打構建時生成的 SSG、大架構視野之上的 ISR、DPR,還有更少聽到的 NSR、ESR 等等。

諸多方案的提出和完善帶來了更多的技術選型可能,迅速涌現的生態支持也讓不同方案的開發體驗、心智負擔漸漸趨于便捷、開發者無感。

但:

  • 各種方案的運作模式是怎樣的?
  • 不同場景下應該如何選擇方案?
  • 各種方案能帶來的優勢是什么?造成的劣勢或者當下的不足有什么?
  • 有怎樣的開發工具、類庫、框架可以支持?

希望這篇文章能幫助解決上述這樣的疑惑,這就是「啥是 XXR ?」。

若尚不完整或有失偏頗,歡迎討論 & 指教。

二、渲染模式——概念與對比

這里所說的 ✌🏻 渲染模式 ✌🏻,包括:

頁面 / 應用在開發完成之后的產物編譯方式;

部署上線之后的服務形態;

資源存儲與分發的方式;

用戶訪問時的啟動與渲染過程;

這幾方面不同的實現和規范。

本節將介紹各種渲染模式的基本特點、運作方式,還有對應的優缺點比較。

2.1 CSR for Client Side Rendering

顧名思義的“客戶端渲染”,是當下用于渲染各類 UI 庫構建的前端項目的最常見方案。

2.1.1 啥是 CSR?

在這種模式下,頁面托管服務器只需要對頁面的訪問請求響應一個類似這樣的空頁面:

  1. <!DOCTYPE html> 
  2. <html> 
  3.   <head> 
  4.     <meta charset="utf-8" /> 
  5.     <!-- metas --> 
  6.     <title></title> 
  7.     <link rel="shortcut icon" href="xxx.png" /> 
  8.     <link rel="stylesheet" href="xxx.css" /> 
  9.   </head> 
  10.   <body> 
  11.     <div id="root"><!-- page content --></div> 
  12.     <script src="xxx/filterXss.min.js"></script> 
  13.     <script src="xxx/x.chunk.js"></script> 
  14.     <script src="xxx/main.chunk.js"></script> 
  15.   </body> 
  16. </html> 

可以看到頁面中留出一個用于填充渲染內容的視圖節點 (div#root),并插入指向項目編譯壓縮后的 JS Bundle 文件的 script 節點和指向 CSS 文件的 link.stylesheet 節點等。

瀏覽器接收到這樣的文檔響應之后,會根據文檔內的鏈接加載腳本與樣式資源,并完成以下幾方面主要工作:執行腳本、進行網絡訪問以獲取在線數據、使用 DOM API 更新頁面結構、綁定交互事件、注入樣式,以此完成整個渲染過程。

2.1.2 優劣相依

CSR 模式有以下幾方面優點:

  • 「UI 庫支持」:常用 UI 方案如 React、Vue,默認的應用形態都是 SPA (for Single Page Application),是交互程度高、動態化強的 Web 應用,CSR 很好地滿足了這種應用形態的需要,并在主流技術棧中擁有廣泛支持;
  • 「前后端分離」:視圖交互和具體數據解耦,有賴于這種應用形態的出現和普及,做到前后端職能清晰明確,更容易維護與協作;
  • 「服務器負擔輕」:從示例可見,CSR 場景下的頁面托管服務只需要對訪問請求返回一個每次部署后固定的空白頁,其他的資源加載和渲染交給瀏覽器完成,項目靜態資源(bundle、css、assets)則都是部署在 CDN 上的,服務器負擔輕、響應快,且更利于資源的終端和 CDN 緩存;

優劣相依,這樣的模式也具有以下缺陷:

  • 「呈現速度受限」:基于上面特點,盡管更輕的服務負荷帶來了更快的訪問響應速度,但 CSR 頁面的呈現速度和效果容易受到限制——用戶瀏覽器拿到模板 HTML 之后對文檔和 JS 代碼的解析耗時、邏輯執行耗時、接口請求耗時、加載靜態資源工作對 CDN 情況、網絡環境、終端瀏覽器性能的依賴,都能很大程度上影響甚至阻塞頁面渲染,破壞用戶體驗;
  • 「不利于 SEO (for Search Engine Optimization)」:爬蟲請求 CSR 的頁面時會受限從服務器得到不含內容的空頁面,不利于站點在搜索引擎上的信息采集和曝光(但現在頭牌搜索引擎如谷歌、百度、必應等,其爬蟲能力已經可以部分支持 CSR SPA 的頁面內容爬取)。在非常動態的、交互性很強而輕實際內容的情景下,SEO 友好程度或許并不重要——即使重要,也有部分解決方法,如結合 meta / template 插入一些重要信息,還有后面將會提到的 SSG;
  • 「*較低的安全性」:了解到的一個論調是 CSR 場景下,頁面更容易受到 XSS (for Cross-Site Scripting) 攻擊,通過發掘頁面內可以干預邏輯代碼的入口,劫持用戶的會話并進行惡意操作。CSR 在此方面相對安全性較低的一個考慮點,或許是有更多的邏輯代碼需要在瀏覽器上直接運行并可見,讓不懷好意者更有可乘之機——但在如今越來越多的安全工具、瀏覽器安全部署、代碼混淆方案背景下,魔與道孰高孰低其實一直在較量之中。

2.2 SSR for Server Side Rendering

“事物的發展是螺旋上升的。”

2.2.1 啥是 SSR?

SSR 的概念,即與 CSR 相對地,在服務端完成大部分渲染工作,其實這就是一開始還沒有如今的前端的時候,頁面的呈現方式——服務器在響應站點訪問請求的時候,就已經渲染好可供呈現的頁面。但不同于刀耕火種時代通過后端模板之類方案生成頁面,如今的 SSR 能力已經越來越強大,部分情況下甚至能做到“開發者低感知”的狀態——開發 SSR 與 CSR 項目并沒有太多不同(如廠內框架 Jupiter 的 SSR 支持)。這有賴于社區生態的發展,上面提到 CSR 的框架/類庫(當然還有沒提到,筆者本身也很少實踐的 Angular、Svelte 等),都有非常優秀的 SSR 方案。

2.2.2 簡述原理

— “在服務端完成頁面渲染,豈不是要在服務端模擬一個瀏覽器?”

— “是,但不完全是。”

像 React、Vue 這樣的 UI 生態巨頭,其實都有一個關鍵的 Virtual DOM (or VDOM) 概念——瀏覽器 DOM API 太慢,先自己建模處理視圖表現與更新、再批量調 DOM API 完成視圖渲染更新。這就帶來了一種 SSR 方案:

VDOM 是自建模型,是一種抽象的嵌套數據結構,也就可以在 Node 環境(或者說一切服務端環境)下跑起來,把原來的視圖代碼拿來在服務端跑,通過 VDOM 維護,再在最后拼接好字符串作為頁面響應,生成文檔作為響應頁面,此時的頁面內容已經基本生成完畢,把邏輯代碼、樣式代碼附上,則可以實現完整的、可呈現頁面的響應。

在此基礎上,另外對于一些需要在客戶端激活的內容,如 Vue 實例接管組件行為、React Effect 在客戶端的觸發執行,則由編譯時生成 Bundle,并在響應頁面內的超鏈接腳本額外附著。

2.2.3 先揚后抑

SSR 方案發展在 CSR 之后再次得到推進,很大程度上就是為了解決 CSR 的一些問題,這也是 SSR 相較之下突出的優勢:

  • 「呈現速度和用戶體驗佳」:SSR 對比 CSR,少了很多頁面到達瀏覽器之后的解析、資源加載、邏輯代碼執行的過程,用戶拿到響應內容后,這份內容基本已經是可以呈現的頁面,首屏時間大大縮短;
  • 「SEO 友好」:SSR 服務對于站點訪問請求響應的是填充過的頁面,其中已經有許多站點信息和數據可供爬蟲直接識別,搜索引擎優化自不必說;
  • 老規矩,先揚后抑。優勢之上,SSR 也帶來了一些局限:
  • 「引入成本高」:SSR 方案重新將視圖渲染的工作交給了服務器做,這就引入了新的概念和技術棧(如 Node),并且帶來了更高的服務器硬件成本和運維成本;
  • 「響應時間長」:對比 CSR 只需要響應早已準備好的空頁面,SSR 在完成訪問響應的時候需要做更多的計算和生成工作,因此其請求響應時間更長,同時還受限于前置數據接口的響應速度,一項關鍵指標 TTFB (Time To First Byte) 將變得更大;
  • 「首屏交互不佳」:又是那句話,“SSR 的用戶啟動體驗好,但不完全好”。雖然 SSR 可以讓頁面請求響應后更快在瀏覽器上渲染出來,但在首幀出現,需要客戶端加載激活的邏輯代碼(如事件綁定)還沒有初始化完畢的時候,其實是不可交互的狀態,同樣影響用戶體驗;
  • 「傳統開發思路受限」:斟酌之下還是將其列出作為 SSR 的局限性,既然主要頁面內容是在服務端完成渲染的,那么對于瀏覽器(或者 Hybrid、Webview 之下的宿主)環境的獲知和相關操作就會受到局限,一些操作不得不延遲到客戶端激活之后才得以進行,這也是導致上一個局限點的原因。

2.2.4 SPR for Serverless Pre-Rendering

無服務預渲染,這是 Serverless 話題之下的一項渲染技術。SPR 是指在 SSR 架構下通過預渲染與緩存能力,將部分頁面轉化為靜態頁面,以避免其在服務器接收到請求的時候頻繁被渲染的能力,同時一些框架還支持設置靜態資源過期時間,以確保這部分“靜態頁面”也能有一定的即時性。

這是對 SSR 服務運行計算成本高、服務負載大的一種針對性優化,如今也已經有不少前沿框架支持,開發者可以非常方便地引入。

2.3 SSG for Static Site Generation

某種形式上的縫合怪 —— but in a good way.

2.3.1 啥是 SSG?

說它是縫合怪,是因為它與 CSR 一樣,只需要頁面托管,不需要真正編寫并部署服務端,頁面資源在編譯完成部署之前就已經確定;但它又與 SSR 一樣,屬于一種 Prerender 預渲染操作,即在用戶瀏覽器得到頁面響應之前,頁面內容和結構就已經渲染好了。當然形式和特征來看,它更接近 SSR。

如果說 CSR 與 Prerender 差異在于渲染工作重心的抉擇,同是 Prerender 的 SSR 和 SSG 則是渲染——或者是這其中非常重要的“注水”——填充內容操作在時機上的抉擇。

又或者從另一個角度來說,不同于把大部分渲染工作留到請求時做的 CSR 和 SSR,SSG 在站點項目構建部署的時候,就把頁面內容大致填充好了。

最終 SSG 模式的有點真正“返璞歸真”的意思,原本日益動態化、交互性增強的頁面,變成了大部分已經填充好,托管在頁面服務 / CDN 上的靜態頁面。

2.3.2 平衡得夠好嗎?

SSG 兼收了傳統 CSR 和 SSR 的優點的同時,對這兩者的短板也做到較好的互補。服務負擔低、加載性能與體驗佳、SEO 友好,這些 SSG 的取各家之長的優勢此處不必單獨分析,但還有一些好處源自這個模式本身:

頁面內容都是靜態生成過的,頁面部署只需要簡單的頁面托管服務器,甚至只需要放在 CDN 之上,大量減少了動態性,還有服務器對頁面加載、渲染工作的干預,也就讓惡意攻擊少了很多可乘之機;

SSG 的不足之處也值得提出來討論:

隨著應用的拓展和復雜化,預渲染頁面的數量增長速度很快。SSG 項目有較高的構建和部署開銷,應用越復雜,需要構建出來的靜態頁面就會越多,對于功能豐富的大型站點,每次構建需要渲染成千上萬個頁面都是有可能的,這必然帶來較高的部署、更新成本;

高度靜態化帶來非即時性,用戶訪問到的頁面內 SSG 生成的部分,確保有效性的時間節點是上一次構建,使該模式下的應用失去了部分時效性,這部分缺陷需要通過定時構建、或者部分非 SSG 來彌補,這也是 SSG 的主要問題。

2.4 BTW

既然說到了,那就說一說。

還有一些 XXR,并不是 CSR / SSR 那樣的大陣營或整體方案,而是一些性能策略、優化手段,同時還依賴更大架構下的技術能力支持,這里羅列并簡單介紹。

2.4.1 NSR for Native Side Rendering *

Native 就是客戶端,萬物皆可分布式,可以理解為這就是一種分布式的 SSR,不過這里的渲染工作交給了客戶端去做而不是遠端服務器。在用戶即將訪問頁面的上級頁面預取頁面數據,由客戶端緩存 HTML 結構,以達到用戶真正訪問時快速響應的效果。

NSR 見于各種移動端 + Webview 的 Hybrid 場景,是需要頁面與客戶端研發協作的一種優化手段。

2.4.2 ESR for Edge Side Rendering *

Edge 就是邊緣,類比前面的各種 XSR,ESR 就是將渲染工作交給邊緣服務器節點,常見的就是 CDN 的邊緣節點。這個方案主打的是邊緣節點相比核心服務器與用戶的距離優勢,利用了 CDN 分級緩存的概念,渲染和內容填充也可以是分級進行并緩存下來的。

ESR 之下靜態內容與動態內容是分流的,邊緣 CDN 節點可以將靜態頁面內容先響應給用戶,然后再自己發起動態內容請求,得到核心服務器響應之后再返回給用戶,是在大型網絡架構下非常極致的一種優化,但這也就依賴更龐大的技術基建體系了。

2.4.3 ISR for Incremental Site Rendering

直譯,增量式網站渲染。也很好理解,就是對待頁面內容小刀切,有更細的差異化渲染粒度,能漸進、分層地進行渲染。常見的選擇是:對于重要頁面如首屏、訪問量較大的直接落地頁,進行預渲染并添加緩存,保證最佳的訪問性能;對于次要頁面,則確保有兜底內容可以即時 fallback,再將其實時數據的渲染留到 CSR 層次完成,同時觸發異步緩存更新。

對于“異步緩存更新”,則需要提到一個常見的內容緩存策略:Stale While Revalidate,CDN 對于數據請求始終首先響應緩存內容,如果這份內容已經過期,則在響應之后再觸發異步更新——這也是對于次要元素或頁面的緩存處理方式。

基于此,CDN 做的事情是直接響應用戶的每個請求,并在用戶觸發 fallback、當前預渲染過的頁面過期失效且再次被用戶訪問的時候更新緩存的預渲染資源;客戶端在感知上則有以下不好的體驗:

  1. 訪問到沒被預渲染過的次要內容觸發 fallback,需要進行 CSR,加載較慢;
  2. 訪問到之前被預渲染過,但已經過期且未更新的頁面,會先得到過期的緩存響應,在觸發 CDN 異步緩存更新之后再次訪問才能得到新資源,造成體驗上的前后不一致。

2.4.4 DPR for Distributed Persistent Rendering

DPR 是一家云計算公司 Netlify 在幾個月前 (2021/04) 才發出的一個 「新提案」(https://github.com/jamstack/jamstack.org/discussions/549),它是基于 ISR 基本模型的一種升級,也是針對 ISR 在即時性上的不足的優化。

看過定義和提案之后我對 DPR 的譯名斟酌不定,大概是“分布式持續/持久化渲染”,因為其利用了 CDN 分布節點進行渲染請求——分布(而且渲染時機也是分布在構建 / 請求時的);又是一個按需漸進的過程——持續;同時在 CDN 基礎上架設了緩存能力——持久化。

這聽起來在分布式方面跟上面剛剛說到的 NSR 有點像,又跟 ESR 很接近,實際上這里的分布式跟前者完全不同,但與 ESR 確實有很多相似之處,甚至可以說是其升級版本。這里借用提案中的圖簡單介紹: 

左邊虛線框是構建過程,中間 DPR functions 可以是一些 Serverless 的或是在核心頁面服務器上的按需構建函數,然后是 CDN 緩存節點,最后到用戶瀏覽器。

Build 階段就會完成 generate site 的操作,這一步并不會完成所有構建,而只生成關鍵部分的資源,部署到頁面托管服務或者 CDN 之上;而對于其他內容,有一個按需處理的過程—— CDN 會在收到首個訪問請求的時候實時要求構建,并將最新構建結果返回給用戶,同時將這部分內容加入原有緩存資源中;緩存的資源也會在下一次構建更新的時候被失效。

三、如何選擇

[[432755]]

— 現在我選眼花了 😵‍💫

這些方案并非完全并列,較難完全“分支化決策”,這里列出幾個考慮中的關注點:

特性關注點:

是否關注 SEO

  • 是:需要 Pre-Render,純 CSR 不可取
  • 否:無限制

是否具有豐富可交互性、需要用戶能力、差異化渲染

  • 是:CSR 較方便、SSR 加載快
  • 否:Pre-Render 系列保證加載體驗

頁面結構 & 路由是否復雜、數據更新是否頻繁、是否依賴實時數據接口

  • 是:首先排除 SSG、如果內容不能拆解,ISR、DPR 也不便接入
  • 否:無限制

依賴關注點:

是否接受引入服務器運維成本

  • 是:無限制,SSR 可沖
  • 否:失去 SSR 選項

舊有實現中是否有瀏覽器依賴如 UI 框架內對 DOM、BOM,或 Hybrid 場景下的 JSBridge 的使用

  • 是:SSR、SSG 受限
  • 否:無限制

以上考慮點都不產生限制,那就選用優缺點最能滿足項目特征的、有比較完備的技術基建支持的模式吧~

本文轉載自微信公眾號「Tecvan」

 

責任編輯:姜華 來源: Tecvan
相關推薦

2022-04-27 10:35:27

邊緣渲染前端

2024-02-07 12:35:00

React并發模式concurrent

2021-07-26 06:57:58

重繪回流前端

2022-10-20 15:43:39

htmxDjango技術棧

2022-06-01 07:58:31

渲染3D

2017-04-12 11:46:46

前端瀏覽器渲染機制

2017-05-14 16:34:07

語言PLSQL

2020-09-25 06:32:25

前端

2021-10-25 05:43:40

前端技術編程

2010-07-05 16:07:15

UML圖設計模式

2020-06-22 07:56:15

前端開發技術

2020-06-17 07:56:19

前端存儲數據

2016-12-08 10:57:08

渲染引擎前端優化

2016-11-18 11:25:33

2015-03-16 16:01:40

Web前端前端工程師Web

2010-07-15 17:50:47

Perl模式

2022-02-23 08:18:06

nginx前端location

2024-05-16 11:12:16

2020-12-10 06:01:20

前端Compose方法

2019-08-01 15:19:26

前端開發技術
點贊
收藏

51CTO技術棧公眾號

亚洲第一视频区| 都市激情久久久久久久久久久| 欧美国产亚洲一区| 无码精品视频一区二区三区| 国产精品啊啊啊| 日韩视频一区二区在线观看| 日韩日韩日韩日韩日韩| 亚洲第一页视频| 亚洲精品四区| 色偷偷888欧美精品久久久| av亚洲天堂网| 菠萝菠萝蜜在线视频免费观看| 国产激情一区二区三区| 插插插亚洲综合网| 这里只有精品视频在线| 国产成人精品免费看在线播放| 一二三区在线播放| 在线亚洲成人| 欧美乱妇高清无乱码| av黄色在线免费观看| 一区二区三区在线免费看 | 国产亚洲一区二区手机在线观看| 国产精品久久久久桃色tv| 好看的日韩精品视频在线| 91亚洲欧美激情| 狂野欧美一区| 91精品国产乱码久久久久久蜜臀| 男女性高潮免费网站| 精品国产精品国产偷麻豆| 亚洲国产精品专区久久| 污污视频网站在线| 日本肉肉一区| 在线观看视频一区| 久久精品免费一区二区| 成人女同在线观看| 亚洲精品成人精品456| 亚洲欧洲精品在线观看| 激情小说 在线视频| va亚洲va日韩不卡在线观看| 91欧美视频网站| 中文字幕日韩国产| 奇米888四色在线精品| 热门国产精品亚洲第一区在线| 久久久久久久久久久网| 在线成人超碰| 欧美另类第一页| 欧美人与禽zozzo禽性配| 99精品美女| 日韩有码片在线观看| jizz日本在线播放| 成人在线免费观看视频| 亚洲精品永久免费| 黑人巨大精品欧美| 欧洲专线二区三区| 亚洲天堂第二页| 中文字幕网站在线观看| 国产精品入口久久| 一区二区成人精品| 欧美自拍偷拍网| 国产精品老女人| 欧美日韩国产一区二区在线观看| 欧美日韩成人高清| 狠狠干狠狠操视频| 日韩成人视屏| 精品国产乱码久久久久久久| 亚洲成a人无码| 麻豆一区一区三区四区| 日韩国产高清视频在线| 色无极影院亚洲| 欧美日韩高清| 日韩天堂在线视频| 全程偷拍露脸中年夫妇| 狠狠入ady亚洲精品| 97碰碰碰免费色视频| 欧美三级午夜理伦| 美女视频黄 久久| 亚洲一区二区三区视频| 亚洲精品18p| 91在线精品一区二区| 日韩久久在线| 1stkiss在线漫画| 亚洲一区二区四区蜜桃| av之家在线观看| 嫩草伊人久久精品少妇av杨幂| 欧美妇女性影城| wwwww在线观看| 婷婷综合电影| 色婷婷综合久久久久| 日本一区二区欧美| 日韩影院免费视频| 97中文在线| 韩国三级av在线免费观看| 最新成人av在线| 日韩精品视频在线观看视频| 亚洲成人短视频| 日韩一区二区麻豆国产| 国产特黄级aaaaa片免| 91久久电影| 2019中文在线观看| 国产又粗又长视频| 91免费观看国产| 在线免费一区| 欧美专区福利免费| 日韩午夜在线播放| 男人的天堂av网| 999亚洲国产精| 成人黄色午夜影院| 可以在线观看的黄色| 亚洲黄色av一区| 蜜臀av免费观看| 日韩美女毛片| 久久99久久久久久久噜噜| 欧美性猛交xxxx乱大交hd| 国产精品一区二区婷婷| 捆绑调教一区二区三区| 国产亚洲欧美一区二区三区| 波多野结衣一区二区| 岛国av午夜精品| 在线观看一区二区三区视频| 成人免费在线播放| 97在线视频免费看| 国产后入清纯学生妹| 国产精品久久国产精麻豆99网站| 日韩精品 欧美| 欧美a在线观看| 伊人伊人伊人久久| 亚洲高清毛片一区二区| 成人免费毛片a| 奇米777四色影视在线看| 高清亚洲高清| 国产亚洲一区二区精品| 台湾佬中文在线| gogogo免费视频观看亚洲一| av在线免费观看国产| www欧美在线观看| 中文字幕在线看视频国产欧美在线看完整| 中文字幕第15页| 99国产精品久久久久| 国产av人人夜夜澡人人爽麻豆| 精品久久亚洲| 欧美大尺度激情区在线播放| 国产毛片在线视频| 综合久久给合久久狠狠狠97色| 一本岛在线视频| 日韩电影一区| 国产欧美日韩综合精品| 在线观看免费高清完整| 欧美日韩日日骚| 一本一本久久a久久| 麻豆精品久久精品色综合| 亚洲欧洲日夜超级视频| 亚洲欧美综合久久久久久v动漫| 在线播放日韩精品| 亚洲视频在线观看免费视频| 国产精品天干天干在观线| 午夜宅男在线视频| 91精品国产自产拍在线观看蜜| 国产一区二区在线免费视频| 国产网友自拍视频导航网站在线观看 | 青娱乐精品视频在线| 日本一区二区在线视频| 成人影院在线免费观看| 日韩在线观看免费高清| va视频在线观看| 亚洲一二三四在线| 一级做a爰片毛片| 日韩精品每日更新| 一区二区成人国产精品| 高清精品久久| 久久久久久久久电影| 全国男人的天堂网| 色婷婷国产精品| 18啪啪污污免费网站| 精品一区二区三区影院在线午夜| 中文字幕精品—区二区日日骚| 精品一区二区三区中文字幕在线| 久久久久久久999| 牛牛热在线视频| 91精品国产综合久久久久久久久久| 麻豆天美蜜桃91| 99综合电影在线视频| 国产天堂在线播放| 亚洲国产一成人久久精品| 国产一区二区三区高清视频| 亚洲精品555| 高清欧美电影在线| 国产露出视频在线观看| 欧美一级片在线看| 国产精品100| 亚洲欧美日韩国产综合在线 | 久久成人福利| 国产精品久久久久久久久久ktv | 天天av综合网| 欧美色视频在线| 久久艹精品视频| 欧美激情一区二区三区全黄| 手机看片国产精品| 久久久久久夜| www.av91| 99久久综合| 欧美精品一区二区三区久久| 99精品美女视频在线观看热舞| 91成人精品网站| 99热国产在线中文| 伊人av综合网| 亚洲AV成人无码一二三区在线| 91精品久久久久久蜜臀| 欧美日韩a v| 亚洲3atv精品一区二区三区| 中文字幕第69页| 欧美福利视频一区二区| av网站免费播放| 奇米狠狠一区二区三区| 国内伊人久久久久久网站视频 | gogo大胆日本视频一区| 国模私拍视频在线观看| 国产亚洲一级| 无码 制服 丝袜 国产 另类| 91青青国产在线观看精品| 久久精品人成| 国产suv精品一区| 国产中文字幕日韩| 香蕉成人影院| 日本在线精品视频| 僵尸再翻生在线观看| 色综合视频网站| av片在线观看网站| 久久精品免费电影| av资源在线观看免费高清| 亚洲精品之草原avav久久| 三级视频在线看| 精品精品欲导航| www.五月激情| 日韩一级欧美一级| 国产欧美日韩综合精品一区二区三区| 日本丰满少妇一区二区三区| 少妇一级淫片免费放中国| 亚洲一区二区三区在线看| 欧美黄色一区二区三区| 亚洲色图视频网| 国产精品 欧美激情| 一色屋精品亚洲香蕉网站| 一级性生活免费视频| 国产精品女同一区二区三区| 中国美女黄色一级片| 国产精品欧美极品| 中文字幕乱码av| 亚洲日本一区二区三区| 日韩一级片av| 一区二区欧美精品| 免费毛片一区二区三区| 亚洲成av人在线观看| 丰满少妇乱子伦精品看片| 精品欧美一区二区三区| 五月天婷婷导航| 在线免费观看日本一区| 波多野结衣视频观看| 91国偷自产一区二区三区成为亚洲经典| 91美女免费看| 日本二三区不卡| 中文字幕在线网站| 91麻豆精品国产91久久久 | 欧美精品亚洲精品日韩精品| 午夜精品久久久久久久久久 | 精品日本一区二区| 网红女主播少妇精品视频| 日本在线一区| 91久久国产| 国产欧美日韩网站| 日韩中文字幕麻豆| 久久久精品高清| 成人在线一区二区三区| aa片在线观看视频在线播放| 国产午夜三级一区二区三| 91导航在线观看| 曰韩精品一区二区| 中文字幕精品无码一区二区| 欧美综合一区二区| 国产高清视频免费观看| 亚洲精品按摩视频| 3p视频在线观看| 欧美精品18videos性欧美| 欧美13videosex性极品| 国产精品日韩在线一区| 中文字幕亚洲在线观看| 精品伦理一区二区三区| 四虎成人av| 东北少妇不带套对白| 日韩国产欧美三级| 麻豆网站免费观看| 久久久精品综合| 老妇女50岁三级| 欧亚洲嫩模精品一区三区| 国产视频在线免费观看| 日韩精品一区二区三区第95| 浪潮av一区| 日本道色综合久久影院| 日韩免费精品| 日韩欧美精品一区二区三区经典| 亚洲国产不卡| 天天影视综合色| 成人动漫一区二区在线| 黄色av片三级三级三级免费看| 亚洲国产aⅴ天堂久久| 在线观看亚洲一区二区| 亚洲精品狠狠操| 超碰porn在线| 国产精品v日韩精品| 精品三级av在线导航| 亚洲一区在线直播| 午夜在线视频观看日韩17c| 天天操精品视频| 日本一区二区三区免费乱视频 | 亚洲小说欧美另类婷婷| 三上悠亚av一区二区三区| 久久中文字幕电影| 黄色小视频在线免费看| 91精品国产高清一区二区三区| 国产视频二区在线观看| 91精品国产99| 一区二区在线视频观看| 中文字幕一区二区三区四区五区人| 肉丝袜脚交视频一区二区| 国产一级黄色录像| 亚洲综合一二区| 精品区在线观看| 久久手机免费视频| 成人国产精选| 性刺激综合网| 9色国产精品| 中文字幕一区二区三区乱码不卡| 亚洲少妇最新在线视频| 夜夜骚av一区二区三区| 中文字幕九色91在线| 亚洲天堂1区| 色一情一乱一伦一区二区三欧美 | 日韩免费在线视频| 亚洲人成网77777色在线播放| 亚洲 自拍 另类小说综合图区| 国产高清无密码一区二区三区| 欧美丰满熟妇bbbbbb| 欧美一区二区视频观看视频| 欧美尤物美女在线| 国产日韩在线一区| 欧美大黑bbbbbbbbb在线| 少妇一级淫免费播放| 国产精品久久久一区麻豆最新章节| 亚洲图片欧美日韩| 亚洲视频在线免费看| 日本国产欧美| 亚洲国产精品一区二区第一页 | 欧美特级www| 蜜桃成人在线视频| 国产精品久久久久9999| 国产精品探花在线观看| 亚洲五月天综合| 国产精品人成在线观看免费| 中文字幕在线观看你懂的| 中文国产亚洲喷潮| av一级久久| avav在线播放| 91在线丨porny丨国产| jizz国产在线观看| 在线观看日韩专区| 国产在线不卡一区二区三区| 久久久久久久久网| k8久久久一区二区三区| 久久精品无码av| 日韩在线视频网站| 视频在线亚洲| 欧美亚洲国产成人| 欧美极品aⅴ影院| 国产suv精品一区二区69| 久久久久久久久久久人体| 秋霞影院一区二区三区| 成年网站在线播放| 亚洲激情自拍视频| 日本在线丨区| 国产欧美日韩专区发布| 一区福利视频| 90岁老太婆乱淫| 欧美一区永久视频免费观看| 91av久久| 亚洲欧美影院| 99免费精品视频| 一级黄色片在线看| 久久久久国产精品免费网站| 国产日产精品一区二区三区四区的观看方式| 8x8x最新地址| 亚洲成人一区二区在线观看| 欧美日韩国产综合视频 | 同性恋视频一区| 国产福利精品一区二区三区| 午夜免费久久看| 欧美成年黄网站色视频| 久久久久久久久四区三区| 免费高清视频精品| 在线观看国产亚洲| 久久午夜a级毛片| 狠狠色丁香婷婷综合影院|