午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > 瀏覽器緩存知識小結及應用分析

瀏覽器緩存知識小結及應用分析

熱門標簽:承德地圖標注公司收費 鶴壁外呼系統公司 外呼系統號顯示星號怎么看 suitecrm 地圖標注 高德地圖標注常顯 揭陽電腦外呼系統公司 華創e路航彩票銷售點地圖標注 臨沂ai電銷機器人招商 銀川語音外呼系統中心

瀏覽器緩存,也就是客戶端緩存,既是網頁性能優化里面靜態資源相關優化的一大利器,也是無數web開發人員在工作過程不可避免的一大問題,所以在產品開發的時候我們總是想辦法避免緩存產生,而在產品發布之時又在想策略管理緩存提升網頁的訪問速度。了解瀏覽器的緩存命中原理,是開發web應用的基礎,本文著眼于此,學習瀏覽器緩存的相關知識,總結緩存避免和緩存管理的方法,結合具體的場景說明緩存的相關問題。希望能對有需要的人有所幫助。

1. 瀏覽器緩存基本認識

它分為強緩存和協商緩存:
1)瀏覽器在加載資源時,先根據這個資源的一些http header判斷它是否命中強緩存,強緩存如果命中,瀏覽器直接從自己的緩存中讀取資源,不會發請求到服務器。比如某個css文件,如果瀏覽器在加載它所在的網頁時,這個css文件的緩存配置命中了強緩存,瀏覽器就直接從緩存中加載這個css,連請求都不會發送到網頁所在服務器;

2)當強緩存沒有命中的時候,瀏覽器一定會發送一個請求到服務器,通過服務器端依據資源的另外一些http header驗證這個資源是否命中協商緩存,如果協商緩存命中,服務器會將這個請求返回,但是不會返回這個資源的數據,而是告訴客戶端可以直接從緩存中加載這個資源,于是瀏覽器就又會從自己的緩存中去加載這個資源;

3)強緩存與協商緩存的共同點是:如果命中,都是從客戶端緩存中加載資源,而不是從服務器加載資源數據;區別是:強緩存不發請求到服務器,協商緩存會發請求到服務器。

4)當協商緩存也沒有命中的時候,瀏覽器直接從服務器加載資源數據。

2. 強緩存的原理

當瀏覽器對某個資源的請求命中了強緩存時,返回的http狀態為200,在chrome的開發者工具的network里面size會顯示為from cache,比如京東的首頁里就有很多靜態資源配置了強緩存,用chrome打開幾次,再用f12查看network,可以看到有不少請求就是從緩存中加載的:

強緩存是利用Expires或者Cache-Control這兩個http response header實現的,它們都用來表示資源在客戶端緩存的有效期。

Expires是http1.0提出的一個表示資源過期時間的header,它描述的是一個絕對時間,由服務器返回,用GMT格式的字符串表示,如:Expires:Thu, 31 Dec 2037 23:55:55 GMT,它的緩存原理是:

1)瀏覽器第一次跟服務器請求一個資源,服務器在返回這個資源的同時,在respone的header加上Expires的header,如:

2)瀏覽器在接收到這個資源后,會把這個資源連同所有response header一起緩存下來(所以緩存命中的請求返回的header并不是來自服務器,而是來自之前緩存的header);

3)瀏覽器再請求這個資源時,先從緩存中尋找,找到這個資源后,拿出它的Expires跟當前的請求時間比較,如果請求時間在Expires指定的時間之前,就能命中緩存,否則就不行。

4)如果緩存沒有命中,瀏覽器直接從服務器加載資源時,Expires Header在重新加載的時候會被更新。

Expires是較老的強緩存管理header,由于它是服務器返回的一個絕對時間,在服務器時間與客戶端時間相差較大時,緩存管理容易出現問題,比如隨意修改下客戶端時間,就能影響緩存命中的結果。所以在http1.1的時候,提出了一個新的header,就是Cache-Control,這是一個相對時間,在配置緩存的時候,以秒為單位,用數值表示,如:Cache-Control:max-age=315360000,它的緩存原理是:

1)瀏覽器第一次跟服務器請求一個資源,服務器在返回這個資源的同時,在respone的header加上Cache-Control的header,如:

2)瀏覽器在接收到這個資源后,會把這個資源連同所有response header一起緩存下來;

3)瀏覽器再請求這個資源時,先從緩存中尋找,找到這個資源后,根據它第一次的請求時間和Cache-Control設定的有效期,計算出一個資源過期時間,再拿這個過期時間跟當前的請求時間比較,如果請求時間在過期時間之前,就能命中緩存,否則就不行。

4)如果緩存沒有命中,瀏覽器直接從服務器加載資源時,Cache-Control Header在重新加載的時候會被更新。

Cache-Control描述的是一個相對時間,在進行緩存命中的時候,都是利用客戶端時間進行判斷,所以相比較Expires,Cache-Control的緩存管理更有效,安全一些。

這兩個header可以只啟用一個,也可以同時啟用,當response header中,Expires和Cache-Control同時存在時,Cache-Control優先級高于Expires:

3. 強緩存的管理

前面介紹的是強緩存的原理,在實際應用中我們會碰到需要強緩存的場景和不需要強緩存的場景,通常有2種方式來設置是否啟用強緩存:

1)通過代碼的方式,在web服務器返回的響應中添加Expires和Cache-Control Header;

2)通過配置web服務器的方式,讓web服務器在響應資源的時候統一添加Expires和Cache-Control Header。

比如在javaweb里面,我們可以使用類似下面的代碼設置強緩存:

java.util.Date date = new java.util.Date();  
response.setDateHeader("Expires",date.getTime()+20000); //Expires:過時期限值 
response.setHeader("Cache-Control", "public"); //Cache-Control來控制頁面的緩存與否,public:瀏覽器和緩存服務器都可以緩存頁面信息;
response.setHeader("Pragma", "Pragma"); //Pragma:設置頁面是否緩存,為Pragma則緩存,no-cache則不緩存
還可以通過類似下面的java代碼設置不啟用強緩存:
response.setHeader( "Pragma", "no-cache" );  
response.setDateHeader("Expires", 0);  
response.addHeader( "Cache-Control", "no-cache" );//瀏覽器和緩存服務器都不應該緩存頁面信息

tomcat還提供了一個ExpiresFilter專門用來配置強緩存,具體使用的方式可參考tomcat的官方文檔:

http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html

nginx和apache作為專業的web服務器,都有專門的配置文件,可以配置expires和cache-control,這方面的知識,如果你對運維感興趣的話,可以在百度上搜索“nginx 設置 expires cache-control”或“apache 設置 expires cache-control”都能找到不少相關的文章。

由于在開發的時候不會專門去配置強緩存,而瀏覽器又默認會緩存圖片,css和js等靜態資源,所以開發環境下經常會因為強緩存導致資源沒有及時更新而看不到最新的效果,解決這個問題的方法有很多,常用的有以下幾種:

1)直接ctrl+f5,這個辦法能解決頁面直接引用的資源更新的問題;

2)使用瀏覽器的隱私模式開發;

3)如果用的是chrome,可以f12在network那里把緩存給禁掉(這是個非常有效的方法):

4)在開發階段,給資源加上一個動態的參數,如css/index.css?v=0.0001,由于每次資源的修改都要更新引用的位置,同時修改參數的值,所以操作起來不是很方便,除非你是在動態頁面比如jsp里開發就可以用服務器變量來解決(v=${sysRnd}),或者你能用一些前端的構建工具來處理這個參數修改的問題;

5)如果資源引用的頁面,被嵌入到了一個iframe里面,可以在iframe的區域右鍵單擊重新加載該頁面,以chrome為例:

6)如果緩存問題出現在ajax請求中,最有效的解決辦法就是ajax的請求地址追加隨機數;

7)還有一種情況就是動態設置iframe的src時,有可能也會因為緩存問題,導致看不到最新的效果,這時候在要設置的src后面添加隨機數也能解決問題;

8)如果你用的是grunt和gulp這種前端工具開發,通過它們的插件比如grunt-contrib-connect來啟動一個靜態服務器,則完全不用擔心開發階段的資源更新問題,因為在這個靜態服務器下的所有資源返回的respone header中,cache-control始終被設置為不緩存:

4. 強緩存的應用

強緩存是前端性能優化最有力的工具,沒有之一,對于有大量靜態資源的網頁,一定要利用強緩存,提高響應速度。通常的做法是,為這些靜態資源全部配置一個超時時間超長的Expires或Cache-Control,這樣用戶在訪問網頁時,只會在第一次加載時從服務器請求靜態資源,其它時候只要緩存沒有失效并且用戶沒有強制刷新的條件下都會從自己的緩存中加載,比如前面提到過的京東首頁緩存的資源,它的緩存過期時間都設置到了2026年:

然而這種緩存配置方式會帶來一個新的問題,就是發布時資源更新的問題,比如某一張圖片,在用戶訪問第一個版本的時候已經緩存到了用戶的電腦上,當網站發布新版本,替換了這個圖片時,已經訪問過第一個版本的用戶由于緩存的設置,導致在默認的情況下不會請求服務器最新的圖片資源,除非他清掉或禁用緩存或者強制刷新,否則就看不到最新的圖片效果。

這個問題已經有成熟的解決方案,具體內容可閱讀知乎這篇文章詳細了解:

http://www.zhihu.com/question/20790576

文章提到的東西都屬于理論上的解決方案,不過現在已經有很多前端工具能夠實際地解決這個問題,由于每個工具涉及到的內容細節都有很多,本文沒有辦法一一深入介紹。有興趣的可以去了解下grunt gulp webpack fis 還有edp這幾個工具,基于這幾個工具都能解決這個問題,尤其是fis和edp是百度推出的前端開發平臺,有現成的文檔可以參考:

http://fis.baidu.com/fis3/api/index.html

http://ecomfe.github.io/edp/doc/initialization/install/

強緩存還有一點需要注意的是,通常都是針對靜態資源使用,動態資源需要慎用,除了服務端頁面可以看作動態資源外,那些引用靜態資源的html也可以看作是動態資源,如果這種html也被緩存,當這些html更新之后,可能就沒有機制能夠通知瀏覽器這些html有更新,尤其是前后端分離的應用里,頁面都是純html頁面,每個訪問地址可能都是直接訪問html頁面,這些頁面通常不加強緩存,以保證瀏覽器訪問這些頁面時始終請求服務器最新的資源。

5. 協商緩存的原理

當瀏覽器對某個資源的請求沒有命中強緩存,就會發一個請求到服務器,驗證協商緩存是否命中,如果協商緩存命中,請求響應返回的http狀態為304并且會顯示一個Not Modified的字符串,比如你打開京東的首頁,按f12打開開發者工具,再按f5刷新頁面,查看network,可以看到有不少請求就是命中了協商緩存的:

查看單個請求的Response Header,也能看到304的狀態碼和Not Modified的字符串,只要看到這個就可說明這個資源是命中了協商緩存,然后從客戶端緩存中加載的,而不是服務器最新的資源:

協商緩存是利用的是【Last-Modified,If-Modified-Since】和【ETag、If-None-Match】這兩對Header來管理的。

【Last-Modified,If-Modified-Since】的控制緩存的原理是:

1)瀏覽器第一次跟服務器請求一個資源,服務器在返回這個資源的同時,在respone的header加上Last-Modified的header,這個header表示這個資源在服務器上的最后修改時間:

2)瀏覽器再次跟服務器請求這個資源時,在request的header上加上If-Modified-Since的header,這個header的值就是上一次請求時返回的Last-Modified的值:

3)服務器再次收到資源請求時,根據瀏覽器傳過來If-Modified-Since和資源在服務器上的最后修改時間判斷資源是否有變化,如果沒有變化則返回304 Not Modified,但是不會返回資源內容;如果有變化,就正常返回資源內容。當服務器返回304 Not Modified的響應時,response header中不會再添加Last-Modified的header,因為既然資源沒有變化,那么Last-Modified也就不會改變,這是服務器返回304時的response header:

4)瀏覽器收到304的響應后,就會從緩存中加載資源。

5)如果協商緩存沒有命中,瀏覽器直接從服務器加載資源時,Last-Modified Header在重新加載的時候會被更新,下次請求時,If-Modified-Since會啟用上次返回的Last-Modified值。

【Last-Modified,If-Modified-Since】都是根據服務器時間返回的header,一般來說,在沒有調整服務器時間和篡改客戶端緩存的情況下,這兩個header配合起來管理協商緩存是非常可靠的,但是有時候也會服務器上資源其實有變化,但是最后修改時間卻沒有變化的情況,而這種問題又很不容易被定位出來,而當這種情況出現的時候,就會影響協商緩存的可靠性。所以就有了另外一對header來管理協商緩存,這對header就是【ETag、If-None-Match】。它們的緩存管理的方式是:

1)瀏覽器第一次跟服務器請求一個資源,服務器在返回這個資源的同時,在respone的header加上ETag的header,這個header是服務器根據當前請求的資源生成的一個唯一標識,這個唯一標識是一個字符串,只要資源有變化這個串就不同,跟最后修改時間沒有關系,所以能很好的補充Last-Modified的問題:

2)瀏覽器再次跟服務器請求這個資源時,在request的header上加上If-None-Match的header,這個header的值就是上一次請求時返回的ETag的值:

3)服務器再次收到資源請求時,根據瀏覽器傳過來If-None-Match和然后再根據資源生成一個新的ETag,如果這兩個值相同就說明資源沒有變化,否則就是有變化;如果沒有變化則返回304 Not Modified,但是不會返回資源內容;如果有變化,就正常返回資源內容。與Last-Modified不一樣的是,當服務器返回304 Not Modified的響應時,由于ETag重新生成過,response header中還會把這個ETag返回,即使這個ETag跟之前的沒有變化:

4)瀏覽器收到304的響應后,就會從緩存中加載資源。

6. 協商緩存的管理

協商緩存跟強緩存不一樣,強緩存不發請求到服務器,所以有時候資源更新了瀏覽器還不知道,但是協商緩存會發請求到服務器,所以資源是否更新,服務器肯定知道。大部分web服務器都默認開啟協商緩存,而且是同時啟用【Last-Modified,If-Modified-Since】和【ETag、If-None-Match】,比如apache:

如果沒有協商緩存,每個到服務器的請求,就都得返回資源內容,這樣服務器的性能會極差。

【Last-Modified,If-Modified-Since】和【ETag、If-None-Match】一般都是同時啟用,這是為了處理Last-Modified不可靠的情況。有一種場景需要注意:

分布式系統里多臺機器間文件的Last-Modified必須保持一致,以免負載均衡到不同機器導致比對失敗;

分布式系統盡量關閉掉ETag(每臺機器生成的ETag都會不一樣);

京東頁面的資源請求,返回的repsones header就只有Last-Modified,沒有ETag:

協商緩存需要配合強緩存使用,你看前面這個截圖中,除了Last-Modified這個header,還有強緩存的相關header,因為如果不啟用強緩存的話,協商緩存根本沒有意義。

7. 瀏覽器行為對緩存的影響

如果資源已經被瀏覽器緩存下來,在緩存失效之前,再次請求時,默認會先檢查是否命中強緩存,如果強緩存命中則直接讀取緩存,如果強緩存沒有命中則發請求到服務器檢查是否命中協商緩存,如果協商緩存命中,則告訴瀏覽器還是可以從緩存讀取,否則才從服務器返回最新的資源。這是默認的處理方式,這個方式可能被瀏覽器的行為改變:

1)當ctrl+f5強制刷新網頁時,直接從服務器加載,跳過強緩存和協商緩存;

2)當f5刷新網頁時,跳過強緩存,但是會檢查協商緩存;

您可能感興趣的文章:
  • JavaWeb如何實現禁用瀏覽器緩存
  • 詳解瀏覽器緩存和webpack緩存配置
  • 清除瀏覽器緩存的幾種方法總結(必看)
  • 解析瀏覽器端的AJAX緩存機制
  • JSP實現屏蔽瀏覽器緩存的方法
  • JS清除IE瀏覽器緩存的方法
  • 多種瀏覽器清除緩存的方法小結
  • 屏蔽瀏覽器緩存另類方法
  • 詳解瀏覽器的緩存機制

標簽:萊蕪 七臺河 忻州 許昌 汕尾 咸寧 三沙 棗莊

巨人網絡通訊聲明:本文標題《瀏覽器緩存知識小結及應用分析》,本文關鍵詞  瀏覽器,緩存,知識,小結,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《瀏覽器緩存知識小結及應用分析》相關的同類信息!
  • 本頁收集關于瀏覽器緩存知識小結及應用分析的相關信息資訊供網民參考!
  • 推薦文章
    免费在线观看污网站| 亚洲男同性恋视频| 国产91成人在在线播放| 毛片网站免费观看| 亚洲成a人v欧美综合天堂| 91精品视频免费| 五月天激情四射| 亚洲国产日韩欧美在线图片| 怡红院亚洲色图| 国产精品欧美综合在线| 欧美日韩一区二区三区免费| jizz中国女人| 日韩在线观看免费| 999精品免费视频| 亚洲3atv精品一区二区三区| 成人性做爰片免费视频| 奇米综合一区二区三区精品视频| 一区二区欧美日韩视频| 手机看片国产精品| 亚洲一二三区在线观看| 国产人妻人伦精品| av不卡一区二区三区| 精品一区二区三区视频日产| 国产精品露脸视频| 精品一区二区电影| bl动漫在线观看| 亚洲综合视频网| 91九色在线观看视频| 欧美韩国一区二区| 久久综合精品一区| 国产在线精品一区二区不卡了 | 午夜成人免费视频| 北条麻妃在线视频| 一区二区三区中文字幕电影| 日韩精品欧美在线| 日本视频中文字幕一区二区三区 | 免费精品视频一区| 国内成人免费视频| 欧美成人蜜桃| 少妇一级黄色片| 欧美性生活大片免费观看网址| 国产成人艳妇aa视频在线| 韩国一区二区三区| 精品91免费| 国产精品影音先锋| 成人片在线免费看| 日本大胆欧美人术艺术动态 | 色综合天天综合| 杨幂一区二区国产精品| 日韩欧美在线视频观看| 黄色a级片免费| 亚洲综合免费观看高清完整版在线 | 激情久久综合网| 亚洲成av人片在线观看无码| 九九热只有这里有精品| 亚洲精品欧美激情| 美女日批免费视频| 亚洲在线视频免费观看| 亚洲免费在线播放视频| 欧美日韩一本到| www在线观看免费视频| 亚洲第一页在线| 久久久99精品| 亚洲丝袜在线视频| 永久免费看黄网站| 欧美久久久精品| 99热这里只有精品3| 97视频色精品| 深爱五月激情网| 在线视频欧美区| 绯色av蜜臀vs少妇| 亚洲第一精品夜夜躁人人躁| 免费无遮挡无码永久在线观看视频 | 日韩欧美国产激情| 精品国产无码在线观看| 亚洲国语精品自产拍在线观看| 久草视频免费在线播放| 欧美精品一区在线播放| 韩国av永久免费| 亚洲一区二区久久久久久| 日韩电影在线免费| 一区二区日本伦理| 亚洲一区二区三区四区在线免费观看 | 日韩欧美综合在线视频| 在线观看免费小视频| 久久人人爽人人爽爽久久| av男人天堂网| 日韩中文一区| 亚洲一区二区在线免费观看视频| 国产国语性生话播放| 亚洲国产成人一区| caoporn国产| 人九九综合九九宗合| 久久国内精品自在自线400部| 亚洲激情免费视频| 午夜在线电影亚洲一区| 久久久无码人妻精品无码| 亚洲国产成人爱av在线播放| 欧美黄色免费在线观看| 欧美激情精品久久久久久大尺度| 久久看片网站| 国产美女永久无遮挡| 五月天国产精品| 日韩网站在线播放| 欧美激情一级欧美精品| 麻豆成人久久精品二区三区红| 欧美二区三区在线| 午夜免费久久看| 日本高清黄色片| 日韩男女性生活视频| 成人精品国产免费网站| 丝袜老师办公室里做好紧好爽| 日韩欧美在线观看| 国产第一页第二页| 国产一区香蕉久久| 最新不卡av在线| 爱爱免费小视频| 久久精品国产成人| 日韩不卡免费视频| 日本三区在线观看| 伊人伊成久久人综合网站| 久久国产日本精品| 国产精品无码免费专区午夜| 69p69国产精品| 国产精品国产三级国产专区52| 国产 高清 精品 在线 a| 国产精品色在线| 女人裸体性做爰全过| 7777免费精品视频| 99精品偷自拍| 超碰男人的天堂| 欧美激情视频一区二区| 国产精品一区三区| 国产精品情侣呻吟对白视频| 日韩视频免费观看高清完整版在线观看| 亚洲国产欧洲综合997久久| 亚洲妇女屁股眼交7| 久久精品无码一区| 国产日韩欧美黄色| 一区二区在线观看视频| 久久免费视频播放| 国产一区二区不卡视频| 中文字幕一区二区不卡| 激情综合五月网| 精品国产一区二区三| 婷婷久久综合九色综合伊人色| 日韩高清免费av| 婷婷精品国产一区二区三区日韩| 欧美福利一区二区| 91久久久久国产一区二区| 欧美精品卡一卡二| 国产午夜精品一区二区三区| 老司机精品导航| 久久久久久久久久毛片| 久久婷婷国产麻豆91天堂| 成人精品一区二区三区四区| 欧美性猛交xx| 国产精品91久久久久久| 亚洲乱码日产精品bd| 日韩三级小视频| 91九色国产ts另类人妖| 亚洲天堂av网| 成人毛片老司机大片| 巨胸大乳www视频免费观看| 2014亚洲精品| 欧美一区二区三区四区在线观看 | 国产尤物91| 欧美色电影在线| 亚洲精品久久久久久久久久久久久久| 亚洲国产精品久久久久婷蜜芽| 欧美精品生活片| 中文一区二区完整视频在线观看| 天天做天天爱夜夜爽| 精品少妇人妻av一区二区| 有码中文亚洲精品| 成人激情免费网站| 69xxx免费| 相泽南亚洲一区二区在线播放| 亚洲丝袜av一区| 2024国产精品视频| 麻豆changesxxx国产| 欧美日韩另类综合| 深夜福利亚洲导航| 亚洲麻豆国产自偷在线| 精品人妻一区二区三区浪潮在线 | 日韩av中文字幕在线| 337p粉嫩大胆噜噜噜噜噜91av | 久草资源站在线观看| 欧美超级免费视 在线| 欧美激情中文字幕| 中文字幕资源网| 熟妇人妻无乱码中文字幕真矢织江| 欧美亚洲另类在线| 欧美日韩色综合| 不卡的av电影在线观看| 欧美日韩在线观看免费| 亚洲熟妇av一区二区三区漫画| 久久久久久久久久久免费精品 | 久久一区二区三区av| 亚洲美女动态图120秒| 2020国产精品自拍| 91久久久久久久久久久久| 久久精品女同亚洲女同13| 日产精品高清视频免费| 正在播放国产一区| 日韩毛片高清在线播放| 深夜福利视频网站| 福利视频第一页| 久久久99精品视频| 91po在线观看91精品国产性色| 欧美亚洲丝袜传媒另类| 精品无人区卡一卡二卡三乱码免费卡| 日韩三级在线观看视频| 大陆极品少妇内射aaaaa| 国产精品中文久久久久久久| 日韩av在线精品| 日本一区二区在线不卡| 狠狠躁日日躁夜夜躁av| 男人晚上看的视频| 午夜在线观看av| 日韩三级电影免费观看| 97成人精品视频在线观看| 欧美在线观看视频一区二区三区| 麻豆成人在线观看| 青青视频在线免费观看| 亚洲男人在线天堂| 久久99久久99精品| 成人动漫在线观看视频| 亚洲性线免费观看视频成熟| 亚洲免费视频成人| 激情六月婷婷久久| 亚洲最大成人av| 最近日本中文字幕| 国产精品后入内射日本在线观看| 国产伦精品一区二区三毛| 亚洲无亚洲人成网站77777| 亚洲va欧美va天堂v国产综合| 国产精品夜夜爽| 精品乱子伦一区二区| 紧身裙女教师波多野结衣| 激情在线观看视频| 99精品视频网站| 成人av番号网| 久久精品99久久久香蕉| 日韩免费成人网| 欧美日韩在线看| 无码精品黑人一区二区三区| 日韩av在线天堂| 日韩欧美黄色网址| 麻豆短视频在线观看| 中文字幕无码不卡免费视频| 亚洲欧美精品| 国产精品日韩一区二区| 久久免费精品视频| 综合激情国产一区| 亚洲国产天堂久久综合网| 亚洲第一主播视频| 91在线精品一区二区三区| 老汉av免费一区二区三区| 国产精品-色哟哟| 圆产精品久久久久久久久久久| 实拍女处破www免费看| 中文av字幕在线观看| aaaaaa亚洲| 亚洲精品中文综合第一页| 精品日本一区二区三区| 91久久精品一区二区别| 97在线视频免费| 欧美黄色三级网站| 久久精品成人欧美大片| 日韩精品999| 亚洲精品国产精品久久清纯直播 | 日韩中文字幕在线精品| 日韩成人黄色av| 亚洲国产美女久久久久| 欧美写真视频网站| 在线看国产一区二区| 日本国产一区二区| 亚洲成人一二三| 亚洲三级免费电影| av一区二区三区四区| 成人三级在线视频| 久久er99精品| 国产美女主播视频一区| 国产精一区二区三区| 精品亚洲porn| 懂色av一区二区夜夜嗨| 国产一本一道久久香蕉| 美女一区二区三区在线观看| 蜜桃精品视频在线| 久99久精品视频免费观看| 日韩中文字幕一区二区三区| 日本不卡的三区四区五区| 人成网站在线观看| 亚洲欧美高清视频| 人妻精品一区一区三区蜜桃91| 国产精品无码白浆高潮| 糖心vlog精品一区二区| 国产一区二区三区视频免费观看| 制服.丝袜.亚洲.中文.综合懂色| 久久伊人成人网| 国产免费a视频| 国产富婆一级全黄大片| 午夜精品久久久久久久99| 久久亚洲风情| 国产曰批免费观看久久久| av中文字幕在线不卡| 91在线云播放| 亚洲精品水蜜桃| 一区二区久久久久久| 在线看不卡av| 日韩av一区二区在线观看| 色噜噜狠狠色综合网图区| 久久成人免费视频| 97精品视频在线播放| 国产剧情久久久久久| 国内精品二区| 欧美一级爱爱视频| 欧美国产激情视频| 国产又粗又猛又爽又黄| 精品国产人妻一区二区三区| 久久成人小视频| 久久精品五月天| 久久97超碰色| 欧美视频你懂的| 欧美日韩精品高清| 日韩欧美在线网站| 精品视频—区二区三区免费| 日韩中文在线视频| 1769国产精品| 操一操视频一区| 日韩精品一区二区三区外面| 欧美日韩二三区| 亚洲狠狠婷婷综合久久久久图片| 欧美 日本 国产| 黄色一级大片在线免费观看| 国产成人精品一区二三区| 欧美在线精品一区二区三区| 91在线精品一区二区三区| 亚洲午夜免费视频| 亚洲第一页在线| 热久久免费国产视频| 久久av一区二区三区亚洲| 日韩精品视频久久| 在线观看日本中文字幕| 欧美高清69hd| 国产美女精品人人做人人爽 | 欧美日韩综合在线| 亚洲欧美日韩精品| 奇门遁甲1982国语版免费观看高清| 亚洲影院高清在线| 在线播放豆国产99亚洲| 日本黄色三级网站| 国产性猛交╳xxx乱大交| 日韩电影一区二区三区| 亚洲男人天堂一区| 精品欧美一区二区三区精品久久| 久久久久久久久综合| 国产精品久久波多野结衣| 国产成人久久777777| 日韩福利小视频| 黑人精品一区二区| 国产亚洲成aⅴ人片在线观看 | 欧美极品第一页| 亚洲一区二区精品在线| 午夜久久久精品| 亚洲 欧美 视频| 国产真实乱子伦精品视频| 亚洲最新视频在线播放| 在线不卡国产精品| 蜜桃传媒视频麻豆第一区免费观看 | 在线黄色免费网站| 久久99国产综合精品免费| 久久成人免费电影| 亚洲一区二区av电影| 精品国产一区久久久| 91超碰rencao97精品| 天天影视色综合| 91国内精品视频| 国产一区91精品张津瑜| 国产精品午夜久久| 色婷婷精品久久二区二区蜜臀av| 亚洲天堂网站在线观看视频| 91精品国产综合久久久久久久久| 日本wwww视频| 日韩毛片在线播放| 成人av免费观看| 亚洲国产精品电影| 久久99导航| 少妇久久久久久久久久| 欧美熟妇另类久久久久久不卡| 一区二区在线看| 久久久久久久久久久久久久久久久久av| 图片区小说区区亚洲五月| 一级黄色片网址| 国产一区999| 日韩一级视频免费观看在线| 国产91在线高潮白浆在线观看| 中文字幕人妻熟女人妻洋洋| 久久久国产一级片| 国产精品乡下勾搭老头1| 日韩亚洲欧美一区| 亚洲精品免费av| 黑人玩弄人妻一区二区三区| 国产精品嫩草影院精东| 亚洲欧洲成人精品av97| 色多多国产成人永久免费网站 | 东北少妇不带套对白| 国产一级aa大片毛片| 不卡一二三区首页|