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

關(guān)于Web緩存的那些風(fēng)流事兒

開發(fā) 前端
最近大家針對(duì)preload、HTTP/2 push和ServiceWorker的瀏覽器緩存實(shí)現(xiàn)展開了激烈的討論,而這也引起了很多人的疑惑。鑒于此,我想講個(gè)故事來讓大家了解一個(gè)請(qǐng)求如何完成他的使命并找到匹配的緩存資源。

最近大家針對(duì)preload、HTTP/2 push和ServiceWorker的瀏覽器緩存實(shí)現(xiàn)展開了激烈的討論,而這也引起了很多人的疑惑。

鑒于此,我想講個(gè)故事來讓大家了解一個(gè)請(qǐng)求如何完成他的使命并找到匹配的緩存資源,以下內(nèi)容均基于 Chromium 的術(shù)語,不過其余瀏覽器的實(shí)現(xiàn)本質(zhì)上沒有太大的差異。

Questy 的旅程

Questy 是一個(gè)請(qǐng)求。她是在渲染引擎內(nèi)(也叫渲染器)誕生的。她渴望能在這個(gè)標(biāo)簽頁關(guān)閉前找到一個(gè)讓她的“人生”再無遺憾的資源。

[[188281]]

所以 Questy 展開了她追求幸福的旅程。 但是她會(huì)在哪里找到一個(gè)恰恰適合的資源呢?

此時(shí)離她最近的是……

內(nèi)存緩存(Memory Cache)

內(nèi)存緩存中包含了大量的資源。他包含了所有渲染引擎請(qǐng)求的資源。這些資源都是現(xiàn)有文檔的一部分。在文檔的生命周期中他們都會(huì)被儲(chǔ)存在此。這意味著,如果 Questy 尋找的資源已經(jīng)被文檔中的其余部分加載了,那么他們會(huì)在此相遇。

確切來說,“短期內(nèi)存緩存”這個(gè)名字可能會(huì)更適合。因?yàn)閮?nèi)容緩存僅在導(dǎo)航結(jié)束前保存這些資源,在某些情況下,時(shí)間甚至?xí)獭?/p>

[[188282]]

事實(shí)上,很多種情況都會(huì)導(dǎo)致 Questy 尋找的資源已經(jīng)被加載。

預(yù)加載器(preloader)可能是最常發(fā)生的情況。如果 Questy 是由 HTML 解析器創(chuàng)造的 DOM節(jié)點(diǎn)所激發(fā)的,那么她很可能會(huì)發(fā)現(xiàn),她所尋找的資源早已在 HTML 標(biāo)記化階段加載完畢了。

顯示 preload 指令()則是另一種較為可能發(fā)生的情況。該指令會(huì)讓瀏覽器預(yù)加載資源并存儲(chǔ)在內(nèi)存緩存中。

除此之外,還有可能是因?yàn)樗?qǐng)求的資源與之前的 DOM 節(jié)點(diǎn)或者 CSS 規(guī)則所需要的資源相同。例如,一個(gè)頁面中可能會(huì)含有多個(gè)具有相同 src 屬性的<img>元素,但是他們會(huì)得到同一個(gè)資源。而實(shí)現(xiàn)這種機(jī)制的正是內(nèi)存緩存。

 

然而,內(nèi)存緩存不會(huì)輕易匹配我們的資源請(qǐng)求。當(dāng)然了,為了使請(qǐng)求和資源相匹配,他們必須要有相同的 URL 。不過,這還不是全部。他們還必須要有相同的資源類型(這樣子一個(gè)腳本資源才不會(huì)被一個(gè)圖片請(qǐng)求所匹配),相同的 CORS 策略和一些其他特性。

關(guān)于Web緩存的那些風(fēng)流事兒

 

  • 規(guī)范并沒有十分地明確定義內(nèi)存緩存所需要匹配的特性,所以不同的瀏覽器的實(shí)現(xiàn)可能會(huì)有一定的差異。

有一樣?xùn)|西是內(nèi)存緩存不關(guān)心的,那就是 HTTP 語義。無論資源的頭部是是否帶有 max-age=0 或者 no-cache 、Cache-Control標(biāo)簽,內(nèi)存緩存都不關(guān)心。因?yàn)樵诋?dāng)前導(dǎo)航中,資源是可以重用的,所以 HTTP 語義并不重要。

關(guān)于Web緩存的那些風(fēng)流事兒

唯一例外的是no-store指令。在某些特定的情況下瀏覽器會(huì)尊重他。(例如,當(dāng)資源被單獨(dú)節(jié)點(diǎn)重用時(shí))。

所以,Questy 走上前詢問內(nèi)存緩存是否有匹配的資源。唉,然而并沒有。

Questy 并沒有放棄。她走過資源計(jì)時(shí)器和開發(fā)者工具的網(wǎng)絡(luò)注冊(cè)點(diǎn)。在那里,她注冊(cè)為尋找資源的請(qǐng)求(這意味著如果她能找到匹配的資源,則會(huì)出現(xiàn)在開發(fā)中工具和資源計(jì)時(shí)器中)。

完成了這些官方登記后,她繼續(xù)向前……

Service Worker 緩存

和內(nèi)存緩存不一樣,Service Woker喜歡不走尋常路。他的行為難以預(yù)測。因?yàn)樗蛔裱_發(fā)者告訴他的規(guī)則。

 

[[188283]]

首先,Service Worker只有安裝后才會(huì)存在。而且因?yàn)樗倪壿嬍怯砷_發(fā)者編寫的 JavaScript 而不是瀏覽器控制的,所以 Questy 完全不知道她能不能在這里找到那個(gè)他?那個(gè)資源長成什么的?他是被存儲(chǔ)在緩存里嗎?還是說他是由 Service Worker 的主人精心偽造的響應(yīng)?

這些問題沒有人可以回答她。因?yàn)?Service Worker 自成一套,無論是資源的匹配方式還是響應(yīng)的包裝方法,他們都能按照自己的的想法去完成。

Service Worker 擁有和緩存相關(guān)的 API ,這讓他可以儲(chǔ)存資源。和內(nèi)存儲(chǔ)存不同的是這種存儲(chǔ)方式是持久的。即使該標(biāo)簽頁被關(guān)閉甚至瀏覽器重啟,這些被存儲(chǔ)的資源都不會(huì)丟失。只有當(dāng)開發(fā)者明確表示要移除他們的時(shí)候(使用 cache.delete(resource)),他們才會(huì)被移除。另外一種情況就是當(dāng)瀏覽器的存儲(chǔ)空間不足時(shí),他會(huì)將整個(gè) Service Worker 緩存還有其他源存儲(chǔ)如 indexedDB、localStorage 等都清除掉。也因此,Service Worker 能確保他的存儲(chǔ)和其他源存儲(chǔ)是同步的。

Service Worker 只負(fù)責(zé)特定的域,換言之,他最多只能管理一個(gè) host。因此,Service Worker 只能控制來自特定域內(nèi)的文檔的請(qǐng)求。

Questy 走向 Service Worker 詢問他有沒有合適的資源。可惜的是 Service Worker 從來沒有見過那個(gè)域的資源,所以他也找不到 Questy 尋找的請(qǐng)求了。于是,Service Worker 讓 Questy 繼續(xù)前行(通過 fetch()),從而在網(wǎng)絡(luò)棧這片神奇的土地里繼續(xù)尋找她需要的資源。

而一旦進(jìn)入網(wǎng)絡(luò)棧,最容易找到資源的地方就是……

HTTP 緩存

HTTP 緩存(有時(shí)候也被他的朋友成為“磁盤緩存”)和 Questy 之前遇到過的緩存不太一樣。

一方面,他們的存儲(chǔ)是持久的,而且能被不同的會(huì)話甚至不同的網(wǎng)站重用。如果一個(gè)資源被一個(gè)網(wǎng)站下載了,他也可以被其他網(wǎng)站重用,

而另一方面,HTTP 緩存遵循 HTTP 語義(名字早已暗示了一切)。他樂于提供他認(rèn)為覺得是“新鮮”的資源(基于由響應(yīng)的緩存頭聲明的生命周期)、校驗(yàn)?zāi)切┬枰匦买?yàn)證的資源、并拒絕存儲(chǔ)那些它不應(yīng)該存儲(chǔ)的資源。

[[188284]]

既然他是一個(gè)持久性的緩存,他也需要移除資源。但和 Service Worker 不一樣的事,他會(huì)在覺得他需要空間來存儲(chǔ)更重要或者會(huì)被更多人需要的資源時(shí),逐個(gè)移除那些舊資源。

HTTP 緩存擁有一個(gè)基于內(nèi)存的組件。他負(fù)責(zé)為請(qǐng)求匹配資源。可是一旦資源匹配成功,它需要從磁盤中獲取資源內(nèi)容,這是一個(gè)較為昂貴的操作。

上文我們提到 HTTP 緩存遵循 HTTP 語義。這基本是正確的。除了一個(gè)例外情況,HTTP 緩存會(huì)存儲(chǔ)一些資源一段時(shí)間。瀏覽器能夠?yàn)橄麓螌?dǎo)航預(yù)取資源。我們可以通過顯示的指令()或者依靠瀏覽器內(nèi)部機(jī)制完成。這些被預(yù)取的資源會(huì)被保存下來直到下次導(dǎo)航,盡管它們可能是不允許緩存的。所以當(dāng)預(yù)取資源到達(dá) HTTP 緩存時(shí),它會(huì)被緩存(并且不需要校驗(yàn)就會(huì)被提供)大概五分鐘。

盡管 HTTP 緩存看起來十分的嚴(yán)厲,但 Questy 還是鼓起勇氣上前詢問有沒有匹配的資源。然而答案依舊是沒有。

她還是得繼續(xù)隨著網(wǎng)絡(luò)往前走。這段旅程時(shí)可怕而且未知的,然而 Questy 知道無論如何她都要找到她需要的資源。所以她只能繼續(xù)。這時(shí)候她找到了一個(gè)對(duì)應(yīng)的 HTTP/2 會(huì)話。并且準(zhǔn)備通過網(wǎng)絡(luò)繼續(xù)前行,這時(shí)候她忽然看到了……

推送“緩存”

推送緩存(其實(shí)他更應(yīng)該被描述為“待認(rèn)領(lǐng)的推送流存儲(chǔ)器”,不過那實(shí)在是太拗口了)是存儲(chǔ) HTTP/2 推送資源的地方。它們是 HTTP/2 會(huì)話的一部分,這有幾個(gè)特殊的含義。

 

[[188285]]

這個(gè)容器并不是持久的。當(dāng)會(huì)話結(jié)束后,未被認(rèn)領(lǐng)的資源(例如,從來沒有被請(qǐng)求匹配到的)就會(huì)被移除。如果資源是由不同的 HTTP/2 會(huì)話獲取的,他們并不會(huì)匹配。除此之外,推送緩存只會(huì)存儲(chǔ)資源一段時(shí)間(在基于 Chromium 的瀏覽器里,這個(gè)時(shí)長約為五分鐘)。

推送緩存根據(jù)請(qǐng)求的 URL 和請(qǐng)求頭匹配相應(yīng),但他不遵循嚴(yán)格的 HTTP 語義。

  • 規(guī)范里也沒有明確定義推送緩存,所以再各個(gè)瀏覽器、系統(tǒng)或者 HTTP/2 客戶端間的實(shí)現(xiàn)可能會(huì)不一樣。

盡管信心不大,Questy 還是上前詢問是否有匹配的請(qǐng)求。令人驚訝的是,他真的有!!Questy 喜出望外的認(rèn)領(lǐng)了這個(gè)資源(這也意味著它將這個(gè) HTTP/2 流從待認(rèn)領(lǐng)容器中移除)。現(xiàn)在她可以回去渲染這個(gè)資源了。

在他們回程的路上,他們走過了 HTTP 緩存,并且話費(fèi)了一些時(shí)間去復(fù)制了一份資源以備日后使用。

離開網(wǎng)絡(luò)棧后,他們回到 Service Worker 的轄區(qū),而 Service Worker 也將一份資源的拷貝存儲(chǔ)到自己的緩存中才讓他們回到渲染器里。

最終,一旦它們會(huì)到渲染器,內(nèi)存緩存就會(huì)保存一份資源的引用(而不是拷貝)。這樣子在稍后如果在同一個(gè)導(dǎo)航會(huì)話中需要這份資源,他就可以將相同的資源分配給他。

[[188286]]

于是,它們就幸福快活的住在了一起,直到文檔被移除,然后他們都被垃圾回收了。

[[188287]]

不過那是另外一天的故事了。

要點(diǎn)

所以,從 Questy 旅程中我們能學(xué)習(xí)到什么呢?

  • 不同的請(qǐng)求可以從不同的瀏覽器緩存中匹配的資源。
  • 請(qǐng)求匹配資源的緩存的不同會(huì)影響這個(gè)請(qǐng)求是否會(huì)被開發(fā)者工具和資源計(jì)時(shí)器所展示。
  • 推送資源不會(huì)被持續(xù)存儲(chǔ)除非他們被請(qǐng)求所認(rèn)領(lǐng)。
  • 不能存儲(chǔ)的預(yù)加載資源在下一個(gè)導(dǎo)航時(shí)不會(huì)存在。這是預(yù)加載(preload)和預(yù)取(prefetch)間的最大區(qū)別。
  • 因?yàn)檫€有很多地方規(guī)范沒有明確定義,所以不同的瀏覽器實(shí)現(xiàn)會(huì)有差異。我們需要彌補(bǔ)這些差異。

總而言之,如果你使用預(yù)加載,HTTP/2 推送, Service Worker 又或者其他高級(jí)技術(shù)來加速你的網(wǎng)站,你可能會(huì)注意到內(nèi)部緩存的實(shí)現(xiàn)情況。了解這些內(nèi)部緩存和他們的運(yùn)作方式能讓你更好的解決問題并且減少不必要的麻煩。

責(zé)任編輯:未麗燕 來源: w3ctech微信公眾號(hào)
相關(guān)推薦

2022-07-10 07:48:26

緩存軟件設(shè)計(jì)

2022-08-04 10:18:32

棧遷移?寄存器內(nèi)存

2022-06-02 08:42:15

Redis數(shù)據(jù)庫

2017-03-31 09:24:53

AR現(xiàn)實(shí)游戲

2012-11-28 10:54:37

禁止追蹤DNT

2020-09-22 14:29:24

智能

2013-06-13 11:29:14

分布式分布式緩存

2014-03-12 09:23:06

DevOps團(tuán)隊(duì)合作

2020-05-07 10:05:52

Python數(shù)據(jù)安全

2020-05-06 16:47:08

線程安全Python數(shù)據(jù)安全

2018-03-01 15:34:20

數(shù)據(jù)科學(xué)面試招聘

2022-06-04 11:12:12

RPCREST協(xié)議

2021-08-16 05:39:33

云計(jì)算云計(jì)算環(huán)境信創(chuàng)云

2016-08-31 10:55:30

螞蟻金服前端

2022-05-08 17:53:38

Nacos服務(wù)端客戶端

2023-04-11 07:34:40

分布式系統(tǒng)算法

2021-03-18 09:01:53

軟件開發(fā)軟件選型

2024-05-27 08:03:46

2018-03-15 08:50:46

Hive-數(shù)據(jù)存儲(chǔ)

2016-09-27 23:47:42

點(diǎn)贊
收藏

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

91在线播放视频| 中文字幕欧美精品在线| 97视频在线免费| 人妻夜夜爽天天爽| 日本人妖一区二区| 成人亚洲一区| 欧美日韩激情美女| 亚洲欧美在线网| 亚洲av永久纯肉无码精品动漫| 国产亚洲高清视频| 久久精品国产久精国产思思| youjizz.com国产| 另类中文字幕国产精品| 一区二区三区在线免费观看| 蜜桃精品久久久久久久免费影院| 亚洲一区在线观| 亚洲美女少妇无套啪啪呻吟| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 日韩不卡av| www.国产欧美| 蜜臀久久99精品久久久画质超高清 | 娇妻高潮浓精白浆xxⅹ| 欧美男体视频| 亚洲成人在线免费| 成年人三级视频| www.成人.com| 99国产精品久久久久| 91青草视频久久| 最新中文字幕免费| 99热精品在线观看| 欧美丰满少妇xxxxx做受| avhd101老司机| 免费电影一区二区三区| 精品少妇一区二区三区免费观看| 中国黄色片免费看| 国产高清不卡| 欧美日韩亚洲91| 桥本有菜av在线| 黄色小视频在线免费观看| 99久久久久久| 精品国产乱码久久久久久丨区2区| 国产黄色av网站| 黄色大片在线看| 国产精品一区二区av交换| 亚洲国产精品va| 日韩精品xxx| 精品国产伦一区二区三区观看说明 | japanese在线播放| 国产网站在线免费观看| 中文字幕在线不卡国产视频| 性欧美大战久久久久久久免费观看| 欧美白人做受xxxx视频| 91蜜桃传媒精品久久久一区二区| 国产一区不卡在线观看| 免费观看成年人视频| 国产91精品一区二区| 97人人模人人爽人人喊38tv| 国产美女主播在线观看| 国产综合色精品一区二区三区| 国产精品一区二区三区免费视频 | 久久精品盗摄| 国产精品吊钟奶在线| 无码人妻丰满熟妇精品区| 亚洲一区国产一区| 茄子视频成人在线| 久久久久久久亚洲| 免费观看久久久4p| 国产欧美精品日韩| 国产按摩一区二区三区| 国产不卡视频一区| 国偷自产av一区二区三区小尤奈| 天天干天天爽天天操| 久久麻豆一区二区| 日韩欧美一区二区三区久久婷婷| 成人福利在线| 亚洲欧美日韩国产一区二区三区 | 超碰在线97国产| 红桃av永久久久| 大肉大捧一进一出好爽动态图| 欧美电影免费观看网站| 欧美h版在线观看| 4hu四虎永久在线影院成人| 欧美高清精品一区二区| 国产精品xxx在线观看| 日韩麻豆第一页| 黄色片在线观看免费| 午夜av一区| 韩国三级电影久久久久久| 久久久久久久久久久影院| 蜜臀99久久精品久久久久久软件| 91久久精品美女高潮| 人妻丰满熟妇av无码区hd| 久久久久久**毛片大全| 亚洲激情电影在线| 欧美人与禽性xxxxx杂性| 日韩欧美精品网址| 波多野结衣免费观看| 欧美激情久久久久久久久久久| 永久免费毛片在线播放不卡| 美国黄色小视频| 可以看av的网站久久看| 91九色露脸| 国产在线观看免费| 一区二区欧美在线观看| 欧美激情精品久久久久久小说| 性欧美video另类hd尤物| 亚洲国产精彩中文乱码av在线播放| 国产高清一区二区三区四区| 欧美+亚洲+精品+三区| 日韩美女av在线免费观看| 国产免费久久久| 久久免费电影网| 欧美交换配乱吟粗大25p| 3d欧美精品动漫xxxx无尽| 日韩一区二区三区av| 2019男人天堂| 国产欧美三级| 亚洲一区中文字幕| 北条麻妃在线| 色综合色狠狠综合色| 永久免费看片在线观看| 欧美日韩在线网站| 日韩av大片在线| 五月天福利视频| 亚洲制服丝袜av| 福利视频999| 精品久久久久久久久久久下田 | 亚洲乱码国产乱码精品天美传媒| 久久久久久久亚洲| 成人性生交大片免费看视频在线| 色一情一区二区三区四区 | 国产精品毛片久久| 国产精品吊钟奶在线| 欧洲视频在线免费观看| 亚洲高清三级视频| 亚洲少妇一区二区| 亚洲欧美综合久久久| 国产精品亚洲一区二区三区| 你懂的视频在线| 偷拍亚洲欧洲综合| 日本少妇xxxx软件| 欧美成人久久| 亚洲一区二区三区sesese| 免费在线观看av| 欧美人与性动xxxx| fc2ppv在线播放| 久久99热这里只有精品| 亚洲开发第一视频在线播放| 成人亚洲网站| 在线精品国产欧美| 中日韩在线观看视频| 国产精品欧美久久久久一区二区| 亚洲性生活网站| 欧洲grand老妇人| 国产精品久久网| 亚洲成人影院麻豆| 欧美精品第1页| 91高清免费看| 国产成人99久久亚洲综合精品| 久久亚洲a v| 老司机凹凸av亚洲导航| 茄子视频成人在线| av福利在线播放| 欧美精品丝袜久久久中文字幕| 永久免费看mv网站入口| 国产一区二区三区观看| 免费的一级黄色片| 久久精品亚洲成在人线av网址| 午夜精品一区二区三区在线| 亚洲欧洲精品视频| 色女孩综合影院| 中国一级片在线观看| 国产盗摄一区二区三区| 色综合视频在线观看| 国产女同无遮挡互慰高潮91| 欧美激情五月| 麻豆传媒一区| 欧美jizz18| 欧美极品美女视频网站在线观看免费| 免费国产黄色片| 日本丶国产丶欧美色综合| 一本色道久久88| 国产91精品露脸国语对白| 尤物av无码色av无码| 不卡在线一区二区| 亚洲最大福利视频网| 色网在线免费观看| xxav国产精品美女主播| 亚洲av成人精品毛片| 欧美精品一二三| aaa人片在线| 亚洲三级电影网站| 中国黄色a级片| 国产毛片精品国产一区二区三区| 俄罗斯av网站| 婷婷久久国产对白刺激五月99| 韩国一区二区三区美女美女秀| 久久青草免费| 性欧美xxxx视频在线观看| 在线观看麻豆| 亚洲国产欧美一区二区三区久久| 中文字幕+乱码+中文乱码www| 夜夜嗨av一区二区三区四季av| av男人的天堂av| 国产盗摄视频一区二区三区| 99热手机在线| 国产精品婷婷| 久久国产精品免费观看| 深夜福利久久| 国产日韩一区二区三区| 99精品女人在线观看免费视频| 日本不卡视频在线播放| 欧美黑人猛交的在线视频| 日韩小视频网址| 国产在线视频福利| 亚洲国产日韩欧美在线99| 一区二区精品视频在线观看| 欧美日韩人人澡狠狠躁视频| 久草视频免费在线播放| 国产精品国产三级国产| 精品少妇人妻一区二区黑料社区| 国产精品一品二品| 黄色小视频免费网站| 久久综合狠狠| 欧美极品欧美精品欧美| 国产一区视频在线观看免费| 91超碰caoporn97人人| 欧美福利第一页| 国产美女视频91| 波多野结衣xxxx| 日韩高清在线电影| 中文字幕无码精品亚洲35| 影音先锋在线一区| 国产免费内射又粗又爽密桃视频| 羞羞答答成人影院www| 亚洲欧洲精品一区二区| 精品日韩欧美一区| 欧美精品人人做人人爱视频| 激情小说一区| 黄色国产精品一区二区三区| 亚洲精品在线播放| 99久久久精品免费观看国产 | dy888亚洲精品一区二区三区| 中文字幕日韩专区| 成人在线视频成人| 一本色道久久88亚洲综合88| 久草在线免费福利资源| 国产亚洲欧美日韩美女| 国产福利在线观看| 在线播放国产一区中文字幕剧情欧美| 男人天堂资源在线| 在线亚洲欧美视频| 又爽又大又黄a级毛片在线视频| 在线性视频日韩欧美| 午夜国产福利在线| 久久亚洲春色中文字幕| 91极品在线| 97福利一区二区| 裤袜国产欧美精品一区| 国产精品69av| 日本成人在线网站| 91超碰rencao97精品| 草草视频在线一区二区| 久草热久草热线频97精品| 欧美日韩爱爱| 亚洲黄色一区二区三区| 亚洲精品一二三区区别| 六月婷婷激情综合| 亚洲综合国产激情另类一区| 成人观看免费完整观看| 日韩在线a电影| 三区视频在线观看| 成人性生交大片免费看视频在线 | 国产一区二区三区四区五区 | 亚洲一级黄色| 日韩欧美在线播放视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产成人美女视频| 国产91丝袜在线18| 国产乱子伦精品| 欧美成人片在线| 中文字幕亚洲欧美在线| 中文字幕在线观看播放| 欧美亚洲国产日本| 日本亚洲欧洲无免费码在线| 成人av影视在线| 国产在线日韩精品| 欧洲美女和动交zoz0z| 国产偷自视频区视频一区二区| 久久人人爽av| 99久久精品免费| 二区三区四区视频| 懂色av一区二区三区| 91欧美日韩麻豆精品| 亚洲国产高清福利视频| 最新97超碰在线| 97色在线播放视频| 成人在线日韩| 欧美少妇一区| 午夜久久影院| 手机看片福利日韩| 成人av电影在线网| 亚洲天堂网av在线| 色网站国产精品| 国产高中女学生第一次| 在线a欧美视频| 国产免费拔擦拔擦8x在线播放| 91精品久久久久久久久青青| 久久99国内| 拔插拔插海外华人免费| 精品一区二区在线看| 精品人伦一区二区三电影| 亚洲午夜精品17c| 国产视频www| 在线视频日韩精品| 中文一区一区三区高中清不卡免费| 91精品久久香蕉国产线看观看 | 九一免费在线观看| 美腿丝袜亚洲三区| 久久精品国产亚洲av久| 亚洲国产综合视频在线观看| 国产孕妇孕交大片孕| 国产一区二区精品丝袜| 涩涩视频网站在线观看| 俄罗斯精品一区二区三区| 亚洲天堂免费| 91在线第一页| 国产精品第一页第二页第三页| 国产精品久久久久久久久久精爆| 精品久久人人做人人爰| 羞羞网站在线免费观看| 成人欧美一区二区三区在线 | 精品视频在线观看一区| 国产精品一区二区不卡| 丝袜美腿小色网| 91.麻豆视频| 老司机午夜在线视频| 国产精品视频资源| 第一会所sis001亚洲| 大香煮伊手机一区| 免费在线观看黄色网| 日韩成人在线电影网| 国产羞羞视频在线播放| 国产传媒一区| 亚洲精品韩国| 亚洲AV无码国产精品| 精品国产户外野外| 午夜在线视频免费| 2020欧美日韩在线视频| 日韩精品免费一区二区夜夜嗨| 免费国产a级片| 久久这里都是精品| 天堂免费在线视频| 综合欧美国产视频二区| 人人精品久久| 国产欧美123| 成人激情免费网站| 成人毛片18女人毛片| 亚洲免费高清视频| 朝桐光一区二区| 一区二区三区精品国产| 国产综合久久久久久鬼色| 久久久久久福利| 亚洲激情在线视频| 精品欧美一区二区三区在线观看| 日本在线免费观看一区| 精品在线观看免费| 久久精品www人人爽人人| 亚洲黄色在线观看| 你懂得影院夜精品a| 中文字幕99| 成人av在线一区二区| www.com亚洲| 久久精品最新地址| 国产精品2023| 久久综合久久色| 一区二区在线免费| 四虎电影院在线观看| 国产精品自拍偷拍| 国产一区二区中文| 国产一区二区三区精品在线| 7777精品伊人久久久大香线蕉超级流畅| 牛牛精品视频在线| 欧美午夜免费| 国产suv精品一区二区6| 婷婷激情五月网| 久久精品最新地址| 偷拍亚洲精品| 国产九九九视频| 色悠悠久久综合| 秋霞在线视频| 亚洲成色www久久网站| 成人性生交大片免费看中文网站| 亚洲男人天堂网址| 欧美激情一二区| 日韩国产欧美| 青青草视频成人| 日韩一本二本av| 99久久久国产精品免费调教网站| 污污污污污污www网站免费|