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

Web緩存控制策略詳解

存儲 存儲軟件
管理Web緩存的最常用和最有效的方法之一是通過Cache-Control HTTP標(biāo)頭,由于此標(biāo)頭適用于Web頁面的緩存,這意味著我們頁面上的所有內(nèi)容都可以具有非常精細(xì)化的緩存策略。通過各種自定義策略,我們控制的策略就可以變得非常復(fù)雜和強(qiáng)大。

管理Web緩存的最常用和最有效的方法之一是通過Cache-Control HTTP標(biāo)頭,由于此標(biāo)頭適用于Web頁面的緩存,這意味著我們頁面上的所有內(nèi)容都可以具有非常精細(xì)化的緩存策略。通過各種自定義策略,我們控制的策略就可以變得非常復(fù)雜和強(qiáng)大。

[[259935]]

Cache-Control

管理Web緩存的最常用和最有效的方法之一是通過Cache-Control HTTP標(biāo)頭,由于此標(biāo)頭適用于Web頁面的緩存,這意味著我們頁面上的所有內(nèi)容都可以具有非常精細(xì)化的緩存策略。通過各種自定義策略,我們控制的策略就可以變得非常復(fù)雜和強(qiáng)大。

Cache-Control標(biāo)頭可能如下所示:

  1. Cache-Control: publicmax-age=31536000 

Cache-Control是標(biāo)頭,public和max-age=31536000都是指令。 Cache-Control標(biāo)頭可以接受一個(gè)或多個(gè)指令,我想在本文中討論的就是這些指令,比如它們的真正含義以及它們的***用例。

public和private緩存

public意味著任何緩存都可以存儲響應(yīng)的副本,其中就包括CDN、代理服務(wù)器等。public指令通常是多余的,因?yàn)槠渌噶?比如max-age)的存在是隱式指令,緩存可能會存儲一個(gè)副本。

另一方面,private是一個(gè)顯式指令,只有響應(yīng)的最終接收者(客戶端或?yàn)g覽器)才可以存儲該文件的副本。雖然private本身不是具有安全功能,但是它的目的是防止public緩存(例如CDN)存儲包含一個(gè)用戶唯一信息的響應(yīng)。

max-age

max-age定義了一個(gè)以秒為單位的時(shí)間單位(相對于請求的時(shí)間),該單位的響應(yīng)被認(rèn)為是‘fresh’。

  1. Cache-Control: max-age=60 

此Cache-Control標(biāo)頭會告訴瀏覽器,它可以在接下來的60秒內(nèi)使用緩存中的此文件,而不必?fù)?dān)心重新被驗(yàn)證。 不過60秒后,瀏覽器將返回服務(wù)器以重新驗(yàn)證文件。

如果服務(wù)器有一個(gè)新文件供瀏覽器下載,它將以200響應(yīng)進(jìn)行響應(yīng),下載新文件后,舊文件將從HTTP緩存中彈出,新文件將替換它,并將成為新的緩存標(biāo)頭。

如果服務(wù)器沒有需要下載的更新副本,則服務(wù)器將以200響應(yīng)進(jìn)行響應(yīng),不需要下載任何新文件,并將使用新的標(biāo)頭更新緩存副本。這意味著,如果仍然存在Cache-Control:max-age = 60標(biāo)頭,則緩存文件在60秒后將再次啟動。算下來,一個(gè)文件的總緩存時(shí)間為120秒。

注意:max-age會有自動警告的屬性,如果瀏覽器過于陳舊,則max-age會提醒用戶,但用戶可以選擇忽略此警告。瀏覽器可能會使用自己的試探法來決定是否在不重新驗(yàn)證文件的情況下發(fā)布文件的陳舊副本。這種行為有些不確定,所以很難確切地知道瀏覽器將實(shí)際做什么。為此,我們有一系列顯式指令,可以用它們來擴(kuò)充max-age。

s-maxage

s-maxage將優(yōu)先于max-age指令,但僅限在共享緩存的上下文中使用。將max-age和s-maxage結(jié)合使用,你可以分別為private和public緩存(例如代理、CDN)提供不同的啟動時(shí)間。

no-store

  1. Cache-Control: no-store 

如果我們不想緩存文件怎么辦?如果文件包含敏感信息怎么辦?也許這是一個(gè)包含銀行詳細(xì)信息的HTML頁面?或許這些信息對時(shí)間至關(guān)重要?也許是一個(gè)包含實(shí)時(shí)股票價(jià)格的頁面?其實(shí)我們并不想在緩存中存儲或提供任何類似的響應(yīng):我們總是希望丟棄敏感信息并獲取***的實(shí)時(shí)信息。這時(shí),我們就要用到no-store指令。

no-store是一個(gè)非常強(qiáng)大的指令,不會將任何信息保存到任何緩存中,無論是private或其他緩存。

no–cache

  1. Cache-Control: no-cache 

這是讓大多數(shù)人誤解的指令,no – cache存并不意味著“沒有緩存”。這只是意味著“在你使用服務(wù)器重新驗(yàn)證緩存之前,不需要從緩存中提供副本就可以使用以前的緩存副本”。

no-cache實(shí)際上是一種非常聰明的緩存更新策略,這樣就可以始終保證***的緩存副本。除非服務(wù)器響應(yīng)更快,否則no-cache將始終must-revalidate服務(wù)器才能釋放瀏覽器的緩存副本,但如果服務(wù)器響應(yīng)速度一般,網(wǎng)絡(luò)傳輸只有一個(gè)文件的標(biāo)頭,則可以直接從緩存中抓取正文而不是重載。

因此,這是一種結(jié)合更新策略,并快速從緩存中獲取文件的智能方法,但前提是它至少要獲得一個(gè)HTTP標(biāo)頭響應(yīng)。

無緩存的一個(gè)很好的用例幾乎就是動態(tài)HTML頁面,想想新聞網(wǎng)站的主頁:它不是實(shí)時(shí)的,也不包含任何敏感信息,但理想情況下我們希望頁面始終顯示***鮮的內(nèi)容。我們可以使用cache-control:no-cache來指示瀏覽器首先檢查服務(wù)器,如果服務(wù)器沒有更新的東西(304),就會重用緩存的版本。如果服務(wù)器確實(shí)有一些更新鮮的內(nèi)容,它會響應(yīng)(200)并發(fā)送更新的文件。

提示:沒有必要發(fā)送max-age指令和no-cache指令,因?yàn)橹匦买?yàn)證的時(shí)間限制為零秒。

must-revalidate

更令人困惑的是,盡管上面的代碼聽起來應(yīng)該稱為must-revalidate,但事實(shí)證明,must-revalidate仍然具有自己的特點(diǎn)。

  1. Cache-Control: must-revalidate, max-age=600 

must-revalidate需要一個(gè)相關(guān)的max-age指令,如上所示,我們把它設(shè)置為十分鐘。此時(shí),no-cache將立即與服務(wù)器重新驗(yàn)證,只有在服務(wù)器允許時(shí)才使用緩存副本時(shí),must-revalidate才類似于一個(gè)寬限期no-cache。具體過程是這樣的,在前十分鐘,瀏覽器不會與服務(wù)器重新驗(yàn)證,但十分鐘過后,它又返回服務(wù)器。如果服務(wù)器沒有任何新內(nèi)容,它將以304響應(yīng)并且新的Cache-Control標(biāo)頭應(yīng)用于緩存文件。然后再以十分鐘為單位,如果在十分鐘之后,服務(wù)器上有一個(gè)較新的文件,我們會收到200響應(yīng)及其正文,并且本地緩存會更新。

proxy-revalidate

與s-maxage類似,proxy-revalidate是must-revalidate的public緩存的自定義版本,它只是被private緩存忽略了。

immutable

immutable是一個(gè)非常新的且非常簡潔的指令,它告訴瀏覽器關(guān)于我們發(fā)送的文件類型的更多信息,該指令可以解決以下問題:用戶刷新會導(dǎo)致瀏覽器重新驗(yàn)證文件,無論其新鮮度如何,用戶刷新通常意味著以下任意情況必定發(fā)生:頁面看起來不完整或者內(nèi)容還和原來一樣。

所以,我們有必要檢查服務(wù)器上是否有更新的內(nèi)容。

如果服務(wù)器上有更新的文件,我們肯定希望下載它。因此,我們將得到200響應(yīng),即一個(gè)新文件出現(xiàn)。但是,如果服務(wù)器上沒有新文件,我們將得到304響應(yīng),即沒有新文件,如果是專業(yè),則整個(gè)延遲反應(yīng)就沒有意義了。如果我們重新驗(yàn)證許多導(dǎo)致延遲反應(yīng)304的文件,可能會增加數(shù)百毫秒不必要的等待。

immutable是一種告訴瀏覽器文件有無可變內(nèi)容的指令,如果內(nèi)容無更新,則永遠(yuǎn)不會重新驗(yàn)證緩存。這樣,就可以完全消除延遲時(shí)間。不過,immutable所指的可變或不可變文件的具體含義是什么?

style.css:當(dāng)我們更改此文件的內(nèi)容時(shí),即使根本不更改其名稱,這個(gè)文件也被認(rèn)為是可變的。

style.ae3f66.css:這個(gè)文件是唯一的,它以基于其具體內(nèi)容來命名的,所以一旦內(nèi)容發(fā)生變化,我們就會得到一個(gè)全新的文件,此時(shí),這個(gè)文件就被認(rèn)為是不可變的。

我們將在Cache Busting部分中更詳細(xì)地討論這個(gè)問題。

如果我們能夠以某種方式向?yàn)g覽器發(fā)出文件是不可變的信號,則它就不需要檢查更新版本,這正是immutable指令的作用:

Cache-Control: max-age=31536000, immutable

在支持immutable指令的瀏覽器中,用戶刷新永遠(yuǎn)不會在31536000秒的新鮮度生命周期內(nèi)進(jìn)行重新驗(yàn)證。這意味著無需花費(fèi)不必要的延遲時(shí)間來檢索304響應(yīng),這可能會在關(guān)鍵路徑(CSS blocks rendering)上節(jié)省大量的延遲時(shí)間。

注意:你不應(yīng)該將immutable應(yīng)用于任何不可變的文件,因?yàn)槟氵€應(yīng)該有一個(gè)非常強(qiáng)大的緩存破壞策略。

stale-while-revalidate

到目前為止,我們已經(jīng)談了很多關(guān)于重新驗(yàn)證的內(nèi)容,都是關(guān)于瀏覽器返回服務(wù)器以檢查是否有更新的文件的過程。在高延遲連接上,重新驗(yàn)證的持續(xù)時(shí)間會很長,并且這個(gè)時(shí)間是固定的,直到我們對服務(wù)器進(jìn)行額外的命令,否則既不能釋放緩存副本(304)也不能下載新文件(200)。

stale-while-revalidate提供的是寬限期,在此期間,當(dāng)我們檢查新版本時(shí),允許瀏覽器使用過去的緩存。

  1. Cache-Control: max-age=31536000, stale-while-revalidate=86400 

該指令是在告訴瀏覽器“這個(gè)文件可以使用一年,一年之后,還可以再用一個(gè)星期。在這時(shí)候,如果你要繼續(xù)使用這個(gè)舊的資源,就必須在后臺重新驗(yàn)證它”。

stale-while-revalidate對非關(guān)鍵資源是一個(gè)很好的指令,當(dāng)然,我們希望使用***的版本。但是我們知道,如果在檢查更新時(shí)再次使用過時(shí)的響應(yīng),不會造成任何對更新的破壞。

stale-if-error

與stale-while-revalidate類似,如果重新驗(yàn)證的資源返回5xx類錯誤,stale-if-error允許瀏覽器有一段緩沖時(shí)間,在此期間可以允許返回過時(shí)的響應(yīng)。

  1. Cache-Control: max-age=2419200, stale-if-error=86400 

在本文中,我們指定了28天(2419200秒)以內(nèi)的緩存文件都是新的,如果我們在那之后遇到更新錯誤,我們會多追加一天(86400秒),在此期間我們將允許過時(shí)的資源響應(yīng)。

Cache Busting(緩存破壞)

只討論緩存得正常情況而不討論緩存破壞的情況是不負(fù)責(zé)任的。在考慮你的緩存策略之前,我總是建議你解決緩存破壞策略。因?yàn)楫?dāng)開發(fā)者修改了網(wǎng)站就會發(fā)生問題,因?yàn)橛脩舯镜鼐彺娴奈募€是老文件。這樣用戶看到的不僅還是舊的功能,如果網(wǎng)站緩存了css和js文件,它們還在引用不存在的元素或者被移除的被重命名的元素,網(wǎng)站就會報(bào)錯破壞。

Cache busting就是強(qiáng)制瀏覽器下載新文件的一種方法,通過將新文件的名字修改成和舊文件不同的名字即可實(shí)現(xiàn)。

No Cache Busting – style.css

這是最不可取的做法:絕對沒有任何緩存破壞。這是一個(gè)可變文件,我們真的很難實(shí)現(xiàn)Cache Busting。

你應(yīng)該非常謹(jǐn)慎地緩存這些文件,因?yàn)橐坏┧鼈兂霈F(xiàn)在用戶的設(shè)備上,我們幾乎失去了對它們的所有控制權(quán)。

盡管這個(gè)例子是一個(gè)樣式表,但HTML頁面正好就是這個(gè)特性。由于我們無法更改網(wǎng)頁的文件名,網(wǎng)站就會報(bào)錯破壞!這正是我們根本不會緩存它們的原因。

Query String – style.css?v=1.2.14

此時(shí),我們?nèi)匀挥幸粋€(gè)可變文件,但我們在其文件路徑中添加了一個(gè)查詢字符串。雖然這比什么都不做要好,但它仍然不***。如果要刪除查詢字符串,我們會回到之前的類別,即完全不存在緩存破壞。許多代理服務(wù)器和CDN都不會通過配置來緩存任何帶有查詢字符串的內(nèi)容。例如,來自Cloudflare的文檔, “style.css?something”的請求將被標(biāo)準(zhǔn)化為“style.css”,或查詢字符串可能包含特定于一個(gè)特定響應(yīng)的信息。

Fingerprint – style.ae3f66.css

到目前為止,指紋識別是緩存破壞文件的***方法。每次文件的內(nèi)容發(fā)生變化時(shí),我們都對其進(jìn)行更改,這并不會緩存任何內(nèi)容。這意味著,我們將最終得到的是一個(gè)全新的文件!且該文件不可更改。如果你可以在靜態(tài)緩存上實(shí)現(xiàn)此功能,請執(zhí)行此操作!一旦你成功地實(shí)現(xiàn)了這個(gè)非常可靠的緩存破壞策略,你就能得到***的緩存控制指令了:

  1. Cache-Control: max-age=31536000, immutable 

實(shí)施細(xì)節(jié)

此方法的關(guān)鍵是更改文件名,但不一定是對指紋進(jìn)行更改。以下所有示例都具有相同的效果:

  •  /assets/style.ae3f66.css:使用文件內(nèi)容的哈希產(chǎn)生破壞;
  • /assets/style.1.2.14.css:使用一個(gè)已發(fā)布的版本產(chǎn)生破壞;
  • /assets/1.2.14/style.css:通過更改URL中的目錄產(chǎn)生破壞;

但是,***一個(gè)示例表明,我們對每個(gè)版本而不是每個(gè)單獨(dú)的文件進(jìn)行版本控制。這反過來意味著,如果我們只需要緩存樣式表,則還必須緩存該版本的所有靜態(tài)文件,所以***選項(xiàng)是前兩個(gè)。

Clear-Site-Data

目前我們正在開發(fā)一個(gè)規(guī)范,以幫助開發(fā)人員確定整個(gè)緩存的來源,并從根上徹底一次性清除,這就是Clear-Site-Data的含義,它讓W(xué)eb開發(fā)人員對瀏覽器本地存儲的數(shù)據(jù)有更多控制能力。

我不想在這篇文章中詳細(xì)介紹Clear-Site-Data,它不是Cache-Control指令,而是一個(gè)全新的HTTP標(biāo)頭文件。

  1. Clear-Site-Data: "cache" 

將此標(biāo)頭應(yīng)用于你的任何一個(gè)源緩存都將讓整個(gè)源的緩存破壞,而不僅僅是它所附加的文件。這意味著,如果你需要從所有訪問者的緩存中強(qiáng)制破壞整個(gè)站點(diǎn),則可以將上述標(biāo)頭應(yīng)用于HTML有效內(nèi)容。

在撰寫本文時(shí),僅支持瀏覽器有Chrome,Android Webview,F(xiàn)irefox和Opera。

提示:Clear-Site-Data將接受許多指令:“cookies”,“storage”,“executionContexts”和“*” (當(dāng)然,“*”的意思是“以上所有”)。

具體示例

好的,讓我們來看看一些應(yīng)用場景以及我們可能采用哪種Cache-Control標(biāo)頭。

網(wǎng)上銀行頁面

  1. Request URL: /account/ 
  2. Cache-Control: no-store 

根據(jù)規(guī)范,這足以阻止瀏覽器在private和共享緩存中持續(xù)對磁盤的響應(yīng)。

no-store響應(yīng)指令會命令緩存不得存儲立即請求或響應(yīng)的任何部分,此指令適用于private和共享緩存。 “不得存儲”意味著緩存不得故意將信息存儲在非易失性存儲中,并且必須盡***努力盡快在轉(zhuǎn)發(fā)后從易失性存儲中刪除所存儲的信息。

但如果你想要防止緩存的發(fā)生,你可以選擇:

  1. Request URL: /account/ 
  2. Cache-Control: private, no-cache, no-store 

該指令將明確指示不要在public緩存(例如CDN)中存儲任何內(nèi)容,以始終提供***的副本。

列車時(shí)間表網(wǎng)頁

如果我們正在構(gòu)建一個(gè)顯示實(shí)時(shí)信息的頁面,則希望保證用戶始終能夠看到***的信息。此時(shí),可以使用以下指令:

  1. Request URL: /live-updates/ 
  2. Cache-Control: no-cache 

這個(gè)簡單的指令意味著瀏覽器不會直接從緩存中顯示響應(yīng),意味著頁面不會顯示過時(shí)的列車信息。

FAQ頁面

像FAQ這樣的頁面可能很少更新,因?yàn)槠渲械膬?nèi)容大多都是常識性問題,對時(shí)效性沒有要求。我們可能會暫時(shí)緩存這樣的HTML頁面,并強(qiáng)制瀏覽器定期檢查新內(nèi)容,而不是每次對緩存進(jìn)行訪問。可以使用以下指令:

  1. Request URL: /faqs/ 
  2. Cache-Control: max-age=604800, must-revalidate 

該指令會告訴瀏覽器將HTML頁面緩存一周(604800秒),并且一周結(jié)束后,我們需要檢查服務(wù)器是否有更新。

頁面中的圖片

頁面中的圖片通常都是一篇文章的配圖,通常我們都會下載下來,所以我們想緩存它。但其實(shí)它對頁面的更新狀態(tài)并不會產(chǎn)生影響,因此我們不需要它的更新狀態(tài)。可以使用以下指令:

  1. Request URL: /content/masthead.jpg 
  2. Cache-Control: max-age=2419200, must-revalidate, stale-while-revalidate=86400 

該指令會告訴瀏覽器將圖像存儲28天(2419200秒),我們要在28天的時(shí)間限制后檢查該圖像在服務(wù)器中是否有更新。

總結(jié)

1.判斷是否設(shè)置了cacheBusting屬性非常重要。在開始執(zhí)行緩存策略之前,請先制定緩存破壞策略。

2.一般來說,緩存HTML內(nèi)容是一個(gè)錯誤的方法。 由于HTML網(wǎng)址不能被破壞,并且由于你的HTML頁面通常是其余子資源的入口點(diǎn),因此你最終也會緩存對靜態(tài)資源的引用。

3.如果要緩存任何HTML,在站點(diǎn)上的不同類型的HTML頁面上使用不同的緩存策略可能會導(dǎo)致不一致,比如有的頁面總是***的內(nèi)容,而其他頁面的內(nèi)容有時(shí)是從緩存中獲取的。

4.如果你能夠可靠的緩存(使用指紋)的靜態(tài)資產(chǎn),那么你還不如一次性使用一個(gè)不可變的指令緩存數(shù)年,以便更好地進(jìn)行管理。

5.非關(guān)鍵緩存內(nèi)容可以使用stale-while-revalidate等指令,增加緩存的寬限期。

6.immutable和stale-while-revalidate不僅為我們提供了緩存的傳統(tǒng)優(yōu)勢,而且還允許我們在重新驗(yàn)證時(shí)降低延遲。

7.充分了解你的緩存,并設(shè)計(jì)具有針對性的緩存策略。

責(zé)任編輯:武曉燕 來源: 嘶吼
相關(guān)推薦

2021-03-29 11:51:07

緩存儲存數(shù)據(jù)

2022-05-10 08:58:56

CacheHTTP

2023-11-16 08:22:14

LruCacheAndroid

2012-04-02 16:35:49

網(wǎng)絡(luò)緩存

2023-04-13 07:52:59

2019-12-05 15:22:25

高可用網(wǎng)關(guān)配置

2011-08-03 09:28:23

2011-07-28 14:14:17

組策略組策略命令

2011-05-20 10:53:01

2015-10-08 16:40:50

緩存頭像策略

2018-08-23 10:50:28

Web緩存體系

2013-10-16 16:58:17

iOS優(yōu)化緩存優(yōu)化

2009-07-06 14:03:01

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

2012-05-10 09:18:14

惠普云計(jì)算融合云

2018-10-23 10:47:03

高并發(fā)系統(tǒng)緩存

2024-09-26 06:30:36

2025-02-03 00:00:35

2024-06-28 08:31:54

2020-07-16 08:04:21

瀏覽器緩存策略

2024-05-06 12:20:00

緩存驅(qū)逐緩存
點(diǎn)贊
收藏

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

欧美日韩在线免费观看| 亚洲欧美激情诱惑| 欧美日韩国产影片| 日本免费在线视频观看| 国产夫妻在线观看| 在线不卡视频| 亚洲欧美另类在线观看| 五月天婷婷激情视频| 在线观看麻豆| 国产盗摄女厕一区二区三区| 亚洲**2019国产| 日本xxxxxxxxx18| 青草综合视频| 天天色图综合网| 亚洲欧美国产不卡| 国产小视频免费观看| 在线亚洲国产精品网站| 日日狠狠久久偷偷四色综合免费 | 日韩欧美小视频| 国产美女免费视频| 精品美女久久| 亚洲成人黄色在线观看| 亚洲免费看av| sqte在线播放| 中文字幕一区二区三区在线观看 | 久久男人资源站| 国产98在线| 成人做爰69片免费看网站| 国产精品久在线观看| 国产极品美女高潮无套嗷嗷叫酒店 | 五月激情综合网| 久久精品国产精品亚洲精品色| 亚洲欧美一区二区三| 国内精品久久久久影院薰衣草| 欧美一区二区三区免费视| 黄色a级片在线观看| 亚洲电影男人天堂| 亚洲第一av在线| 宇都宫紫苑在线播放| 精品国模一区二区三区| 亚洲sss视频在线视频| 99热这里只有精品7| 国产精品一区二区婷婷| 91社区在线播放| 成人在线视频电影| 国产免费高清av| 久久草av在线| 国产精品久久久久久久久粉嫩av| 国产成人无码精品久在线观看 | 中文字幕久久精品| 永久免费看mv网站入口78| 国产厕拍一区| 欧美群妇大交群中文字幕| 另类小说色综合| 久久夜夜操妹子| 欧美性videos高清精品| 国产黄视频在线| 黑人另类精品××××性爽| 亚洲美女少妇撒尿| 亚洲av首页在线| 91极品在线| 日韩美女精品在线| 日本特级黄色大片| 国产美女在线观看| 亚洲免费资源在线播放| 路边理发店露脸熟妇泻火| 看女生喷水的网站在线观看| 国产精品国产三级国产普通话蜜臀 | 成年人av网站| 天堂在线亚洲视频| 国产精品久久久亚洲| 在线观看国产一区二区三区| 久久成人免费网| 亚洲最大av在线| 亚洲av无码国产精品永久一区| 国产91综合一区在线观看| 97碰碰视频| 日本精品999| 久久这里只有精品6| 日韩av一区二区三区在线| av电影在线网| 亚洲色图制服诱惑| 人妻av中文系列| 欧美福利在线播放| 欧美美女黄视频| 亚洲av无码成人精品区| 久久香蕉网站| 尤物精品国产第一福利三区| 天天操天天摸天天舔| 午夜国产欧美理论在线播放| 午夜精品一区二区三区视频免费看| 天天操天天操天天操天天| 免费高清在线视频一区·| 91欧美激情另类亚洲| 神宫寺奈绪一区二区三区| 久久久精品免费免费| 伊人久久大香线蕉精品| 成年人视频免费在线播放| 一本色道久久综合狠狠躁的推荐| www.日本一区| 草草视频在线一区二区| 亚洲摸下面视频| 四虎影院中文字幕| 亚洲国产欧美国产综合一区| 国产成人综合精品| 国产高清在线观看视频| 26uuu久久天堂性欧美| 一区二区视频在线观看| 欧美办公室脚交xxxx| 欧美日韩一区二区三区免费看 | 欧美日韩激情四射| 日韩电影免费观看高清完整版| 91精品欧美一区二区三区综合在| 97人妻天天摸天天爽天天| 91九色精品| 97**国产露脸精品国产| 国产精品毛片久久久久久久av| 9i在线看片成人免费| 正在播放一区| 无遮挡在线观看| 日韩一区二区精品葵司在线| 99久久久无码国产精品性| 欧美福利一区| 国产欧美韩国高清| 凸凹人妻人人澡人人添| 亚洲免费观看高清完整版在线观看熊 | 国产精品午夜视频| 人操人视频在线观看| 樱花影视一区二区| 中文字幕av不卡在线| 欧美成人一区在线观看| 欧美日韩国产成人在线观看| 中文字幕一区二区三区四区视频 | 91九色综合久久| 国产精品二线| 欧美日韩午夜激情| 国产精品日日摸夜夜爽| 91成人国产| 国产精品视频网| 免费在线黄色网址| 精品露脸国产偷人在视频| 制服.丝袜.亚洲.中文.综合懂| 久久看人人摘| 国产精品丝袜久久久久久不卡| 你懂的免费在线观看| 偷拍一区二区三区四区| 成人啪啪18免费游戏链接| 国产精品二区不卡| 国产欧美婷婷中文| 91av资源在线| 欧美日韩日本视频| 美女av免费看| 久久国产生活片100| 亚洲伊人婷婷| 日韩午夜电影免费看| 色阁综合伊人av| 国产三级理论片| 欧美国产国产综合| 污版视频在线观看| 久久国产电影| 成人免费福利在线| 快射视频在线观看| 日韩欧美一区电影| 久草视频免费在线| 成人aaaa免费全部观看| 欧美日韩性生活片| 午夜欧洲一区| 欧美96在线丨欧| 国产精品99久久99久久久二8| 男人久久精品| 91成人免费网站| 丁香六月激情综合| 久久成人免费电影| 好吊色视频988gao在线观看| 亚洲小说春色综合另类电影| 国内精品400部情侣激情| 老牛影视av牛牛影视av| 激情成人中文字幕| 熟女俱乐部一区二区| 三级成人在线视频| 一本久道久久综合| 日韩中文字幕在线一区| 亚洲 日韩 国产第一| 青青久在线视频免费观看| 日本福利一区二区| 国产黄色片在线| 国产精品亚洲а∨天堂免在线| 久无码久无码av无码| 日韩啪啪网站| 国产精品视频自拍| 中日韩高清电影网| 亚洲国产小视频| 黄色av网站免费观看| 国产精品不卡一区二区三区| 免费人成视频在线播放| 国产一区91| 亚洲精品一区二区三区蜜桃久| 国产一区二区三区黄网站| 久久久久久欧美| 激情在线视频| 欧美一级理论性理论a| 青青草成人av| 中文字幕日韩欧美一区二区三区| 久久久男人的天堂| 日日噜噜夜夜狠狠视频欧美人| 性做爰过程免费播放| 中文字幕伦av一区二区邻居| 国产在线观看91精品一区| 国产美女精品写真福利视频| 中文字幕亚洲综合久久| 色综合视频在线| 欧美日韩第一区日日骚| 日本少妇xxxx动漫| 中文字幕一区二区三区av| 少妇激情一区二区三区视频| 久久精品国产免费| 国产肥臀一区二区福利视频| 综合视频在线| 亚洲精品tv久久久久久久久| 久久aimee| 91亚洲国产成人精品性色| 香蕉成人av| 国产综合在线视频| 国产精品扒开做爽爽爽的视频| 亚洲欧美日韩天堂| 亚洲精品911| 欧美美女直播网站| 成人小视频在线播放| 激情亚洲一区二区三区四区| 麻豆成人在线视频| 成人免费在线播放视频| 亚洲国产天堂av| 91在线码无精品| 少妇极品熟妇人妻无码| 久久99精品久久久久久动态图| 成年网站在线免费观看| 99国产精品久久久久久久成人热| 性生活免费观看视频| 日韩综合精品| 亚洲成人第一| 国精一区二区| 欧美日韩在线精品一区二区三区| 国产在线播放精品| 粉嫩精品一区二区三区在线观看 | 一本到高清视频免费精品| 国产网址在线观看| 亚洲综合免费观看高清完整版 | 亚洲国产一区二区三区青草影视| 色哟哟一一国产精品| 国产精品国产a级| 欧美日韩国产黄色| 国产日韩欧美a| 国产一二三四五区| 国产婷婷色一区二区三区 | 一卡二卡在线视频| 欧美在线一区二区| 成人公开免费视频| 色婷婷国产精品综合在线观看| 亚洲午夜18毛片在线看| 丰满岳妇乱一区二区三区| 免费在线不卡视频| 欧美日韩国产中文字幕| 国产精品黄色大片| 欧美视频在线观看免费| 好吊色在线视频| 欧美亚男人的天堂| ,一级淫片a看免费| 欧美一区二区三区免费| 成人av免费播放| 精品国产伦理网| 深夜福利在线观看直播| 亚洲人成电影在线观看天堂色| 国产精品ⅴa有声小说| 日韩有码在线播放| 日韩精品卡一| 91极品视频在线| 欧美成人精品三级网站| 国产精品一区二区女厕厕| 日韩一区二区三免费高清在线观看| 亚洲一区二区三区毛片| 成人看片爽爽爽| 欧美激情专区| 天天综合一区| www插插插无码视频网站| 欧美亚洲网站| 亚洲国产成人va在线观看麻豆| 国产一区二区0| 第四色在线视频| 欧美国产国产综合| 精品无码人妻一区二区三区| 色综合婷婷久久| 97人妻精品一区二区三区动漫| 精品少妇一区二区三区免费观看 | 亚洲精品毛片| 国产精品一码二码三码在线| 亚洲国产最新| 制服国产精品| 国产美女一区| 91在线第一页| 2021中文字幕一区亚洲| 欧美xxxooo| 精品国产老师黑色丝袜高跟鞋| 在线观看黄色网| 亚洲福利在线观看| 尤物视频在线免费观看| 国内精品久久久久久久久| 天堂久久午夜av| 高清不卡一区二区三区| 精品一区电影| 精品无码国产一区二区三区av| 美女视频黄频大全不卡视频在线播放| 一区二区三区人妻| 国产片一区二区| 日本三级欧美三级| 欧美一区二区日韩| 国产午夜视频在线观看| 久久久久久国产三级电影| 电影一区二区| 久久伊人一区二区| 国产综合视频| 午夜一级免费视频| 久久久美女艺术照精彩视频福利播放 | 国产精品99久久免费观看| 亚洲最新免费视频| 久久一二三四| 亚洲一区二区三区四区五区六区 | 伊人久久大香线蕉精品| 久久精品女人天堂| 亚洲麻豆一区二区三区| 亚洲图片激情小说| 亚洲黄网在线观看| 日韩精品免费视频| av中文在线资源库| 成人av播放| 欧美日本三区| 性欧美在线视频| 欧美高清在线一区| 无码一区二区三区| 国产视频精品免费播放| 华人av在线| 国产一区二区精品免费| 黄色成人91| 91精品视频国产| 中文字幕永久在线不卡| 艳妇乳肉豪妇荡乳av| 在线精品高清中文字幕| 国产综合色区在线观看| 欧美日韩大片一区二区三区| 性娇小13――14欧美| 9.1成人看片| 黑人巨大精品欧美一区免费视频 | 欧美日韩精品免费观看视一区二区| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产一级精品aaaaa看| 亚洲激精日韩激精欧美精品| 成人做爰69片免费| 亚洲国产欧美一区二区三区丁香婷| 99久久精品国产一区色| 欧美成人中文字幕| 亚洲成人偷拍| 黄色激情在线视频| 北岛玲一区二区三区四区| 日本高清www免费视频| 亚洲精品久久久久久久久久久 | 天涯成人国产亚洲精品一区av| 农村少妇久久久久久久| 97视频免费在线看| 校花撩起jk露出白色内裤国产精品| 久久成人免费观看| 国产亚洲自拍一区| 亚洲精品国产精品国自产网站按摩| 在线亚洲欧美视频| 精品国产乱码一区二区三区| 91精品国产吴梦梦| 成人18视频日本| 国产无套丰满白嫩对白| 在线视频欧美性高潮| 高清国产一区二区三区四区五区| www.男人天堂网| 91美女片黄在线观看91美女| 狠狠狠狠狠狠狠| 久热精品视频在线观看一区| 一区二区三区高清在线观看| 久久精品免费一区二区| 中文字幕av一区二区三区免费看 | 日韩精品极品在线观看播放免费视频 | 精品免费久久久| 2019中文字幕在线观看| 欧美3p视频| 男男做爰猛烈叫床爽爽小说| 在线观看三级视频欧美| 中文字幕在线播放网址| 欧美三级电影在线播放| 国产一区二区三区久久悠悠色av| 日操夜操天天操| 日韩小视频在线| 久久精品国产亚洲blacked| 最近中文字幕一区二区| 亚洲国产精品久久不卡毛片| 波多野结衣在线影院|