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

高性能前端架構(gòu)解決方案

開發(fā) 前端
這篇文章介紹了一些使前端應(yīng)用程序加載更快并提供良好用戶體驗的技術(shù)。

這篇文章介紹了一些使前端應(yīng)用程序加載更快并提供良好用戶體驗的技術(shù)。

我們將研究前端的總體架構(gòu),如何首先加載必需的資源,并最大化資源緩存的概率。

無論你的頁面是否需要成為客戶端應(yīng)用程序,還是如何優(yōu)化應(yīng)用程序的渲染時間,我都不會說太多后端如何傳遞資源。

總覽

我將把應(yīng)用程序加載分為三個不同的階段:

  •  初始渲染 – 用戶看到任何東西之前需要多長時間?
  •  應(yīng)用程序加載 – 用戶可以使用該應(yīng)用程序需要多長時間?
  •  下一頁 – 導(dǎo)航到下一頁需要多長時間?

初始渲染

在瀏覽器的初始渲染之前,用戶看不到任何東西。渲染頁面至少需要加載 HTML 文件,但是大多數(shù)時候需要加載其他資源,例如 CSS 和 JavaScript 文件。一旦這些都加載完畢,瀏覽器就可以開始在屏幕上渲染。

在本文中,我將使用 WebPageTest 瀑布圖。你網(wǎng)站的請求瀑布可能看起來像這樣。

HTML 文檔將加載一堆其他文件,并在這些文件加載后渲染頁面。請注意, CSS 文件是并行加載的,因此每個其他請求不會增加明顯的延遲。

(備注:gov.uk 啟用了 HTTP/2,因此資產(chǎn)域可以重新使用與 www.gov.uk 的現(xiàn)有連接!我將在下面詳細(xì)討論服務(wù)器連接。)

減少渲染阻塞的請求

css 和(默認(rèn)情況下) script 文件會阻止其下方的任何內(nèi)容渲染。

你可以通過以下幾種方法來解決此問題:

  •  將腳本標(biāo)簽放在 body 標(biāo)簽的底部
  •  使用 async 異步加載 script
  •  內(nèi)聯(lián)使用小型的 JS 或 CSS 代碼段(如果需要同步加載)

避免順序渲染阻塞請求鏈

讓你的網(wǎng)站變慢的不一定是阻止渲染的請求數(shù)量。更重要的是每種資源的下載大小,以及瀏覽器發(fā)現(xiàn)需要加載資源的時間。

如果瀏覽器僅在另一個請求完成后才發(fā)現(xiàn)需要加載文件,則可以獲取同步請求鏈。發(fā)生這種情況可能有多種原因:

  •  CSS 中的 @import 規(guī)則
  •  CSS 文件中引用的 Webfonts
  •  JavaScript 注入鏈接或腳本標(biāo)簽

看一下這個例子:

這個網(wǎng)站在它的某個 CSS 文件中使用 @import 加載 Google Fonts。這意味著瀏覽器需要一個接一個地發(fā)出這些請求:

  •  文件 HTML
  •  應(yīng)用程序的 CSS
  •  Google 字體 CSS
  •  Google Font Woff文件(在瀑布圖中未顯示)

要解決這個問題,首先需要將 Google Fonts 的 CSS 請求從 @import 移動到 HTML 中的 link 標(biāo)記,這就切斷了請求鏈條上的一個環(huán)節(jié)。

為了進一步加快速度,建議直接在 HTML 或 CSS 文件中內(nèi)聯(lián) Google Fonts CSS 文件。

(記住,來自 Google Fonts 的 CSS 響應(yīng)取決于用戶代理。如果你用 IE8 發(fā)出請求,CSS會引用一個 EOT 文件,IE11 會得到一個 woff 文件,而現(xiàn)在的瀏覽器會得到一個 woff2 文件。但是如果你不介意舊的瀏覽器使用系統(tǒng)字體,那么你可以復(fù)制粘貼 CSS 文件的內(nèi)容。)

即使頁面開始呈現(xiàn)后,用戶仍可能無法對該頁面執(zhí)行任何操作,因為在加載字體之前,不會顯示任何文本。可以通過 font-display swap 來避免這種情況,現(xiàn)在 Google Fonts 默認(rèn)情況下已經(jīng)開始支持。

有時,消除請求鏈?zhǔn)遣豢尚械摹T谶@些情況下,可以考慮使用 preload 或 preconnect 標(biāo)記。例如,在實際的 CSS 請求發(fā)出之前,上面的網(wǎng)站可以連接到 fonts.googleapis.com。

重復(fù)使用服務(wù)器連接以加快請求

建立新的服務(wù)器連接通常需要在服務(wù)器的瀏覽器之間進行3次往返:

  •  DNS 查詢
  •  建立 TCP 連接
  •  建立 SSL 連接

連接就緒后,至少需要再進行一次往返來發(fā)送請求并下載響應(yīng)。

下面的瀑布顯示連接已啟動到四個不同的服務(wù)器:hostgator.com,optimize.com,googletagmanager.com 和 googelapis.com。

但是,對同一服務(wù)器的后續(xù)請求可以重新使用現(xiàn)有連接。因此,加載 base.css或 index1.css 的速度很快,因為它們也托管在 hostgator.com 上。

減小文件大小并使用CDN

除了文件大小之外,還有兩個其他因素會影響請求時間,這些因素都在你的控制范圍內(nèi):資源大小和服務(wù)器位置。

向用戶發(fā)送盡可能少的數(shù)據(jù),并確保將其壓縮(例如,使用 brotli 或 gzip )。

內(nèi)容交付網(wǎng)絡(luò)在大量位置提供服務(wù)器,因此其中之一可能位于你的用戶附近。用戶可以連接到與其附近的 CDN 服務(wù)器,而不必連接到中央應(yīng)用程序服務(wù)器。這意味著服務(wù)器的往返時間將大大縮短。這對于諸如 CSS,JavaScript和  Image 之類的靜態(tài)資產(chǎn)特別方便,因為它們易于分發(fā)。

使用 service workers 跳過網(wǎng)絡(luò)

service workers 允許你在請求進入網(wǎng)絡(luò)之前攔截它們。這意味著你可以實現(xiàn)瞬時首屏渲染!

當(dāng)然,這只在你不需要網(wǎng)絡(luò)發(fā)送響應(yīng)時才有效。你需要已經(jīng)緩存了響應(yīng),所以用戶只有在第二次加載你的應(yīng)用時才會受益。

下面的 service workers 緩存呈現(xiàn)頁面所需的HTML和CSS。當(dāng)再次加載應(yīng)用程序時,它會嘗試為緩存的資源提供服務(wù),如果資源不可用,則會返回到網(wǎng)絡(luò)。 

  1. self.addEventListener("install", async e => {  
  2.  caches.open("v1").then(function (cache) {  
  3.    return cache.addAll(["/app", "/app.css"]);  
  4.  });  
  5. });  
  6. self.addEventListener("fetch", event => {  
  7.  event.respondWith(  
  8.    caches.match(event.request).then(cachedResponse => {  
  9.      return cachedResponse || fetch(event.request);  
  10.    })  
  11.  );  
  12. }); 

應(yīng)用加載

好的,現(xiàn)在用戶已經(jīng)可以看到一些東西,然后他們在可以使用你的應(yīng)用程序之前還需要什么?

  •  加載應(yīng)用程序代碼(JS和CSS)
  •  加載頁面的基本數(shù)據(jù)
  •  加載其他數(shù)據(jù)和圖像

請注意,不僅僅是延遲從網(wǎng)絡(luò)加載數(shù)據(jù)會延遲渲染。加載代碼后,瀏覽器將需要解析,編譯和執(zhí)行它。

Bundle split:僅加載必要的代碼,并最大化緩存命中率

Bundle split 允許只加載當(dāng)前頁面所需的代碼,而不是加載整個應(yīng)用程序。Bundle split 還意味著可以緩存其中的一部分,即使其他部分已經(jīng)更改,需要重新加載。

通常,代碼被分成三種不同類型的文件:

  •  網(wǎng)頁本身專用代碼
  •  共享應(yīng)用程序代碼
  •  很少更改的第三方模塊(非常適合緩存!)

Webpack 可以使用 optimization.splitChunks 自動拆分共享代碼以減少總下載量。確保啟用運行時塊,以使 chunk 哈希穩(wěn)定,并從長期緩存中受益。

分離頁面特定的代碼不能自動完成,你需要識別可以單獨加載的位。通常這是一個特定的路徑或一組頁面。使用動態(tài)導(dǎo)入來延遲加載代碼。

Bundle split 會導(dǎo)致更多的請求被發(fā)送來加載你的應(yīng)用程序。但是只要請求是并行發(fā)送的,這就不是什么大問題,特別是當(dāng)你的站點開啟了 HTTP/2 服務(wù)的時候。你可以看到在這個瀑布的前三個請求:

然而,這個瀑布圖還顯示了兩個按順序發(fā)出的請求。這些塊只在這個頁面中需要,并通過 import() 調(diào)用動態(tài)加載。

如果你知道需要這些塊,你可以通過插入預(yù)加載鏈接標(biāo)記來解決這個問題。

但是,你會看到,與總頁面加載時間相比,這樣做的好處可能很小。

另外,使用預(yù)加載有時會適得其反,因為加載其他更重要的文件時可能會延遲。

加載頁面數(shù)據(jù)

你的應(yīng)用程序可能是用來顯示一些數(shù)據(jù)的。下面是一些提示,你可以使用這些提示盡早加載數(shù)據(jù)并避免呈現(xiàn)延遲。

在開始加載數(shù)據(jù)之前不要等待包

這是一個順序請求鏈的特殊情況:你加載應(yīng)用程序包,然后代碼請求頁面數(shù)據(jù)。

有兩種方法可以避免這種情況:

  •  將頁面數(shù)據(jù)嵌入HTML文檔中
  •  通過文檔中的內(nèi)聯(lián)腳本啟動數(shù)據(jù)請求

將數(shù)據(jù)嵌入HTML可以確保你的應(yīng)用程序不必等待數(shù)據(jù)加載。這也降低了應(yīng)用程序的復(fù)雜性,因為你不必處理加載狀態(tài)。

但是,如果獲取數(shù)據(jù)會大大延遲你的文檔響應(yīng),那將不是一個好主意,因為這會延遲你的初始渲染。

在這種情況下,或者如果你通過服務(wù)工作者提供緩存的HTML文檔,則可以將內(nèi)聯(lián)腳本嵌入到HTML中以加載此數(shù)據(jù)。你可以將其作為全局 promise 提供,如下所示: 

  1. window.userDataPromise = fetch("/me") 

然后,如果數(shù)據(jù)準(zhǔn)備就緒,你的應(yīng)用程序可以立即開始渲染,或者等到準(zhǔn)備就緒。

對于這兩種技術(shù),你都需要知道在應(yīng)用開始呈現(xiàn)之前頁面必須加載哪些數(shù)據(jù)。對于與用戶相關(guān)的數(shù)據(jù)(用戶名,通知 ...),這往往很容易,但是對于特定于頁面的內(nèi)容,則比較棘手。考慮確定最重要的頁面并為這些頁面編寫自定義邏輯。

等待非必需數(shù)據(jù)時不要阻塞渲染

有時生成頁面數(shù)據(jù)需要緩慢的復(fù)雜后端邏輯。在這些情況下,如果足以使你的應(yīng)用程序具有功能性和交互性,則可以首先加載較簡單的數(shù)據(jù)版本。

例如,分析工具可以在加載圖表數(shù)據(jù)之前首先加載所有圖表的列表。這使用戶可以立即查找他們感興趣的圖表,還可以幫助將后端請求分散到不同的服務(wù)器上。

避免順序數(shù)據(jù)請求鏈

這可能與我先前關(guān)于在第二個請求中加載非必需數(shù)據(jù)的觀點相沖突,但是如果每個完成的請求都不會導(dǎo)致向用戶顯示更多信息,則避免順序請求鏈。

與其先發(fā)出關(guān)于用戶登錄身份的請求,然后再請求其所屬團隊的列表,不如在用戶信息旁邊返回團隊列表。你可以使用 GraphQL ,但自定義用戶呢? includeTeams=true endpoint 也很有用。

與其首先請求用戶登錄為誰,然后請求他們所屬的團隊列表,

服務(wù)端端渲染

服務(wù)端端渲染意味著在服務(wù)器上預(yù)渲染你的應(yīng)用程序,并使用整頁HTML響應(yīng)文檔請求。這意味著客戶端可以看到完全呈現(xiàn)的頁面,而不必等待加載其他代碼或數(shù)據(jù)!

由于服務(wù)器只是將靜態(tài)HTML發(fā)送給客戶端,因此你的應(yīng)用尚無法進行交互。需要加載應(yīng)用程序,它需要重新運行呈現(xiàn)邏輯,然后將必要的事件偵聽器附加到DOM。

如果看到非交互式內(nèi)容很有價值,請使用服務(wù)器呈現(xiàn)。如果你能夠?qū)⒊尸F(xiàn)的HTML緩存在服務(wù)器上并將其提供給所有用戶而又不會延遲初始文檔請求,那么它也將有所幫助。例如,如果你使用 React 來渲染博客文章,則服務(wù)器渲染非常合適。

下一頁

在某個時候,用戶將與你的應(yīng)用進行交互并轉(zhuǎn)到下一頁。打開初始頁面后,你可以控制瀏覽器中發(fā)生的事情,因此你可以準(zhǔn)備進行下一次交互。

預(yù)取資源

如果你預(yù)加載了下一頁所需的代碼,則可以消除用戶啟動導(dǎo)航時的延遲。使用 prefetch 標(biāo)記,或 webpackPrefetch 用于動態(tài)導(dǎo)入: 

  1. import(  
  2.     /* webpackPrefetch: true, webpackChunkName: "todo-list" */"./TodoList"  

注意你使用了多少用戶數(shù)據(jù)和帶寬,特別是當(dāng)他們使用移動連接時。如果他們使用的是你網(wǎng)站的移動版本,或者他們啟用了保存數(shù)據(jù)模式,你可以減少預(yù)加載。

對于用戶最可能需要的應(yīng)用程序部分,要有策略。

重用已經(jīng)加載的數(shù)據(jù)

在應(yīng)用程序中本地緩存 Ajax 數(shù)據(jù),并使用它來避免未來的請求。如果用戶從團隊列表導(dǎo)航到“編輯團隊”頁面,你可以通過重用已經(jīng)獲取的數(shù)據(jù)來立即進行轉(zhuǎn)換。

請注意,如果你的實體經(jīng)常被其他用戶編輯,并且你下載的數(shù)據(jù)可能已經(jīng)過期,那么這種方法將不起作用。在這些情況下,在獲取最新數(shù)據(jù)時,請首先考慮以只讀方式顯示現(xiàn)有數(shù)據(jù)。

結(jié)論

本文介紹了許多因素,這些因素可能會在加載過程的不同時刻使你的頁面速度減慢。使用 Chrome DevTools,WebPageTest和Lighthouse之類的工具來確定其中哪些適用于你的應(yīng)用程序。

實際上,你幾乎不可能在所有方面進行優(yōu)化。找出對用戶有最大影響的因素,并專注于此。

我在寫這篇文章時意識到的一件事是,我根深蒂固地相信,發(fā)出許多單獨的請求對性能不利。過去,當(dāng)每個請求都需要一個單獨的連接時,Thas就是這樣,而瀏覽器每個域只允許幾個連接。但是,使用 HTTP/2 和現(xiàn)代瀏覽器已不再是這種情況。

并且有強烈的理由支持拆分請求。它允許僅加載必要的資源,并可以更好地利用緩存的內(nèi)容,因為僅需要重新加載已更改的文件。 

 

責(zé)任編輯:龐桂玉 來源: 前端大全
相關(guān)推薦

2009-07-31 11:41:12

光纖連接數(shù)據(jù)中心

2017-11-28 17:14:16

華為云

2009-04-03 11:26:12

AMD上海皓龍

2012-08-03 15:51:37

HillstoneNAT

2009-01-07 01:34:10

SunHPC高性能計算

2022-08-17 14:19:05

高性能計算

2009-07-06 14:03:01

高性能Web應(yīng)用緩存

2014-06-25 10:43:43

華為

2018-01-11 13:23:22

華為云

2021-01-29 18:30:27

戴爾

2013-09-22 12:48:59

2013-06-13 10:43:30

安訊士視頻會議

2009-02-12 00:00:00

博科8Gb HBA主機總線適配器

2014-03-06 09:57:49

西部數(shù)據(jù)高性能雙盤位

2025-07-09 13:59:48

2017-05-14 16:02:45

前端開發(fā)標(biāo)簽嵌套

2013-09-16 11:46:40

CDN前端性能Radware

2018-09-14 16:20:37

點贊
收藏

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

国产精品免费一区二区三区在线观看 | 人人干在线观看| 日本h片久久| 自拍视频在线观看一区二区| 国产精品区一区二区三在线播放 | 在线免费观看黄色av| 狠狠色丁香久久婷婷综合_中| 不卡av电影在线观看| 日韩免费高清一区二区| 性欧美hd调教| 一区二区三区国产精品| 欧美日韩大片一区二区三区| 国产特级黄色片| 国产精品久久777777毛茸茸| 精品国产一区二区三区久久久狼 | 中文在线免费看视频| 综合激情婷婷| 国产亚洲欧美视频| 99久久久无码国产精品性波多| 先锋欧美三级| 亚洲午夜av在线| 一区二区精品视频| 亚洲色图 校园春色| 国产在线播放一区| 日韩av免费网站| 国产中文字幕免费| 91麻豆国产自产在线观看亚洲| 亚洲国产精品一区二区三区| 三日本三级少妇三级99| 日韩久久一区二区三区| 天涯成人国产亚洲精品一区av| 一区二区三区四区视频在线| 性xxxx视频播放免费| 国产剧情一区二区三区| 国产精品久久久久77777| 欧美成人aaaaⅴ片在线看| 色综合天天爱| 国产亚洲一区二区精品| 精品一区二区视频在线观看| 国内不卡的一区二区三区中文字幕| 色狠狠综合天天综合综合| 国内精品久久久久久| 亚洲a区在线视频| aaa在线视频| 国产欧美三级| 国内偷自视频区视频综合| 国产人妻精品一区二区三区不卡| 精品日韩在线| 亚洲网址你懂得| 无码人妻aⅴ一区二区三区 | 国产色在线观看| 欧美国产禁国产网站cc| 蜜桃91精品入口| 无码精品人妻一区二区| av福利精品导航| 国产精品一区在线观看| 亚洲av无码片一区二区三区| 国产一区二区在线看| 成人免费大片黄在线播放| 天堂av免费在线观看| 日日夜夜精品视频天天综合网| 91a在线视频| 日产精品久久久久| 欧美日韩国产在线一区| 色综合久久久久久中文网| 国内精品美女av在线播放| 香港三级韩国三级日本三级| 黄色av网址在线免费观看| 久久亚洲精品国产精品紫薇| 激情小说综合网| 人妻丰满熟妇av无码区hd| 国产乱国产乱300精品| 亚洲free性xxxx护士hd| 一级黄色片在线| 蓝色福利精品导航| 国产综合福利在线| 一区二区三区精彩视频| 国内精品久久久久影院一蜜桃| 国产精品久久网| 五月激情六月丁香| 久久久亚洲人| 国产精品三级网站| 91丨九色丨丰满| 精品亚洲国产成人av制服丝袜| 国产精品日韩在线观看| 国产免费av电影| 国产美女一区二区三区| 成人免费视频网站入口| 韩国av永久免费| 不卡视频一二三四| 蜜桃av噜噜一区二区三区| 国产在线三区| 欧美国产在线观看| 久久天天做天天爱综合色| 国产成人精品免费视频大全最热| www.亚洲欧美| 99国产一区二区三精品乱码| 久久久久久久久一区二区| 男女av在线| 欧美国产欧美综合| 最新国产精品久久| 成人av影院在线观看| 精品久久久久人成| 性chinese极品按摩| 涩涩涩久久久成人精品| 欧美一级二级在线观看| 日本人添下边视频免费| jlzzjlzz亚洲女人| 欧美另类老女人| 国产精品久久久免费视频| 日韩avvvv在线播放| 国产一区红桃视频| 91一区二区视频| 国产精品一区二区三区99| 国产福利久久| 四虎精品成人免费网站| 中文字幕亚洲一区二区av在线| 免费的av在线| 在线成人av观看| 91精品国产色综合久久不卡粉嫩| 精品福利一区二区| 天天色综合天天色| 国产精品网站在线看| 国产一区二区三区精品久久久 | 久艹视频在线观看| 久久在线精品| 97人人干人人| 国产福利第一视频在线播放| 亚洲制服丝袜av| 在线免费视频一区| 久久黄色影视| 久久激情视频免费观看| 国产一级aa大片毛片| 亚洲欧美日韩国产一区二区| 大伊人狠狠躁夜夜躁av一区| 久久精品国产综合精品| 爆操欧美美女| 欧美日本乱大交xxxxx| aaaa黄色片| 欧美人与禽猛交乱配视频| 国产精品电影一区| 午夜性色福利影院| 亚洲美女偷拍久久| 不卡的在线视频| 国产一区二区欧美| 国模精品视频一区二区三区| 96日本xxxxxⅹxxx17| 久久理论电影网| 国产免费观看高清视频| 欧洲大片精品免费永久看nba| 伊人久久久久久久久久久| 久草国产精品视频| 成人深夜福利app| 日本一级淫片演员| 巨大黑人极品videos精品| 日韩区在线观看| 亚洲国产成人精品综合99| 麻豆国产精品777777在线| 欧美日韩国产一二| 一区二区电影免费观看| 亚洲成人精品久久久| 久久久久免费看| 国产盗摄一区二区三区| 桥本有菜av在线| 欧美亚洲综合视频| 国产午夜精品一区理论片飘花| 男人天堂视频在线| 国产日韩精品一区二区三区在线| 日韩av在线综合| 一道本一区二区三区| 45www国产精品网站| 午夜视频福利在线| 欧美日韩免费一区| 亚洲一区二区三区无码久久| 亚洲影院在线| 欧美连裤袜在线视频| 日产精品一区| 在线看日韩欧美| 在线观看免费黄色小视频| 中文字幕视频一区| www.色.com| 欧美日一区二区在线观看| 99国产高清| 亚洲色图美国十次| 亚洲精品久久久久国产| 黄色一级片免费看| 久久精品免费在线观看| 久久午夜夜伦鲁鲁一区二区| 区一区二视频| 成人女保姆的销魂服务| 日本三级韩国三级欧美三级| 欧美精品一区二区三区蜜桃视频| 国产亚洲欧美精品久久久www| av午夜精品一区二区三区| 国产男女无遮挡| 国产在视频线精品视频www666| 国产精品久久久久久久av大片| 午夜小视频在线| 欧美一区二区三区免费视频| 久久精品视频9| 久久久久久久久久看片| 亚洲色图久久久| 亚洲调教视频在线观看| 欧美日韩在线一区二区三区| 国产一区二区在线观| 午夜精品一区二区三区在线播放| 国产女主播在线直播| 91精品国产入口在线| 日韩精品手机在线| 日本一区二区成人在线| 污污污www精品国产网站| 日韩黄色在线观看| 中国成人亚色综合网站| 第一区第二区在线| 国产精品男人的天堂| 最近中文字幕免费mv2018在线| 亚洲国产精品成人综合| 欧美在线视频导航| 欧洲视频在线免费观看| 欧美一区二区三区免费观看视频| 国产区在线观看视频| 国产精品九色蝌蚪自拍| 91黄色免费视频| 经典三级在线一区| 国产l精品国产亚洲区久久| 香蕉综合视频| 久久riav| 粉嫩精品导航导航| 91日本在线观看| 人人视频精品| 欧美国产日韩一区二区三区| www.中文字幕久久久| 亚洲高清久久网| 国产精品视频a| 欧美日韩国产一区中文午夜| 欧美精品一区二区蜜桃| 国产精品国模大尺度视频| 艳妇乳肉亭妇荡乳av| 精品在线观看免费| 男女爽爽爽视频| 在线视频日韩| 精品久久久久久无码中文野结衣| 亚洲精品在线观看91| 日韩欧美三级电影| 私拍精品福利视频在线一区| 9a蜜桃久久久久久免费| 香蕉久久久久久| 国产精品69av| 亚洲十八**毛片| 高清亚洲成在人网站天堂| 亚洲制服国产| 久久综合伊人77777| jizz日韩| 中文字幕欧美亚洲| 国产69精品久久app免费版| 精品视频久久久| 免费观看的毛片| 亚洲第一页自拍| 亚洲成人精品女人久久久| 欧美一级国产精品| 精品久久久免费视频| 日韩一区二区免费高清| 国产毛片在线视频| 欧美午夜电影在线播放| 午夜精品一区二| 色欧美片视频在线观看| 婷婷激情五月综合| 欧美亚洲一区二区在线| 这里只有精品免费视频| 福利视频第一区| 午夜精品一区二| 欧美在线不卡视频| 亚洲视频久久久| 欧美麻豆精品久久久久久| 一道本在线视频| 青青国产91久久久久久| 91黑丝在线观看| 黑人巨大精品| 国产精品视频中文字幕91| 黄色欧美视频| 91成人免费在线观看| 57pao国产一区二区| 97在线电影| 日韩成人av在线资源| 日本一区高清不卡| 98精品久久久久久久| 黄色成人在线免费观看| 亚洲激情一区| 国产一级片黄色| 国产精品一区二区在线看| 天堂www中文在线资源| 91在线精品一区二区三区| 精品一区二区三区蜜桃在线| 国产精品短视频| 九九热国产精品视频| 亚洲午夜在线视频| 狠狠人妻久久久久久综合| 欧美色网站导航| 亚洲国产精品视频在线| 亚洲品质视频自拍网| 欧美尤物美女在线| 久久露脸国产精品| 91亚洲精品| 成人黄视频免费| 岳的好大精品一区二区三区| 伊人色综合久久天天五月婷| 狠狠干成人综合网| 成人黄色一级大片| 99re66热这里只有精品3直播 | 久久久久高清| 久久一区91| www..com日韩| 美国一区二区三区在线播放| 大地资源二中文在线影视观看| 欧美国产日韩亚洲一区| 久久机热这里只有精品| 在线免费观看视频一区| 性生交生活影碟片| 亚洲人成电影在线播放| 国产日产一区二区| 国产精品一二三在线| 精品国产午夜肉伦伦影院| 在线视频精品一区| 久久99伊人| 黑人巨大猛交丰满少妇| 2014亚洲片线观看视频免费| 国产污片在线观看| 51精品国自产在线| 黄色网址在线播放| 韩日欧美一区二区| 成人在线啊v| 午夜精品电影在线观看| 久久久久久久久久久影院| 色综合久久中文综合久久97 | 国产精品毛片在线看| 波多野结衣免费观看| 国产精品三级在线观看| 日本三级午夜理伦三级三| 日韩午夜精品电影| 69av在线| 欧美一区二区三区图| www国产精品| 超碰超碰超碰超碰超碰| 精品一区二区三区免费视频| 亚洲成人黄色av| 亚洲精品中文字幕乱码三区| 亚洲影视一区二区| 伊人一区二区三区久久精品| 三妻四妾的电影电视剧在线观看 | 黄色大片中文字幕| 国产激情视频一区二区三区欧美| 少妇的滋味中文字幕bd| 欧美性欧美巨大黑白大战| 老熟妇高潮一区二区高清视频| 欧美另类在线观看| 国产精品一区二区精品视频观看| 亚洲精品在线免费| 久久精品国产久精国产爱| 亚洲天堂岛国片| 在线日韩一区二区| 国产黄在线看| 国产精品第8页| 精品午夜久久| 五月婷婷丁香色| 国产女同性恋一区二区| 中文字幕自拍偷拍| 精品国产一区av| 免费av网站在线播放| 国产精品蜜臀在线观看| 国产亚洲欧美精品久久久www| 精品国产91洋老外米糕| 九色91在线| 精品一区2区三区| 销魂美女一区二区三区视频在线| 免费看黄色av| 欧美亚洲国产一区二区三区| 国产一区二区影视| 国产综合在线观看视频| 自拍日韩欧美| 91视频啊啊啊| 亚洲一区二区三区视频在线| 国内爆初菊对白视频| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲欧美校园春色| 日日碰狠狠躁久久躁婷婷| 国产精品免费丝袜| 精品久久久久中文慕人妻| 欧美激情乱人伦| 日韩精品社区| 男人的天堂日韩| 1区2区3区国产精品| 精品人妻一区二区三区浪潮在线| 午夜精品久久久久久99热| 国产毛片一区二区三区 | 亚洲免费视频一区二区三区| 成人免费视频a| 欧美在线精品一区| 国产中年熟女高潮大集合| 欧美日韩精品电影| 国产盗摄精品一区二区酒店|