Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 欧美日韩国产精品,久久久亚洲精品国产,精品久久国产视频

          整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          你不可不知的HTML優(yōu)化技巧,還不抓緊時間收藏

          何提升Web頁面的性能,很多開發(fā)人員從多個方面來下手如JavaScript、圖像優(yōu)化、服務(wù)器配置,文件壓縮或是調(diào)整CSS。

          很顯然HTML 已經(jīng)達到了一個瓶頸,盡管它是開發(fā)Web 界面必備的核心語言。HTML頁面的負載也是越來越重。大多數(shù)頁面平均需要40K的空間,像一些大型網(wǎng)站會包含數(shù)以千計的HTML 元素,頁面Size會更大。

          如何有效的降低HTML 代碼的復(fù)雜度和頁面元素的數(shù)量,本文主要解決了這個問題,從多個方面介紹了如何編寫簡練,清晰的HTML 代碼,能夠使得頁面加載更為迅速,且能在多種設(shè)備中運行良好。

          在設(shè)計和開發(fā)過程中需要遵循以下原則:

          • 結(jié)構(gòu)分離:使用HTML 增加結(jié)構(gòu),而不是樣式內(nèi)容;
          • 保持整潔:為工作流添加代碼驗證工具;使用工具或樣式向?qū)ЬS護代碼結(jié)構(gòu)和格式
          • 學習新語言:獲取元素結(jié)構(gòu)和語義標記。
          • 確保可訪問: 使用ARIA 屬性和Fallback 屬性等
          • 測試: 使網(wǎng)站在多種設(shè)備中能夠良好運行,可使用emulators和性能工具。

          HTML,CSS 和JavaScript三者的關(guān)系

          HTML 是用于調(diào)整頁面結(jié)構(gòu)和內(nèi)容的標記語言。HTML 不能用于修飾樣式內(nèi)容,也不能在頭標簽中輸入文本內(nèi)容,使代碼變得冗長和復(fù)雜,相反使用CSS 來修飾布局元素和外觀比較合適。HTML元素默認的外觀是由瀏覽器默認的樣式表定義的,如在Chrome中h1標簽元素會渲染成32px的Times 粗體。

          三條通用設(shè)計規(guī)則:

          1. 使用HTML 來構(gòu)造頁面結(jié)構(gòu),CSS修飾頁面呈現(xiàn),JavaScript實現(xiàn)頁面功能。CSS ZenGarden 很好地展示了行為分離。
          2. 如果能用CSS或JavaScript實現(xiàn)就少用HTML代碼。
          3. 將CSS和JavaScript文件與HTML 分開存放。這可有助于緩存和調(diào)試。

          文檔結(jié)構(gòu)方面也可以做優(yōu)化,如下:

          • 使用HTML5 文檔類型,以下是空文件:
          <!DOCTYPE html>
          <html>
          <head>
           <title>Recipes: pesto</title>
          </head>
          <body>
           <h1>Pesto</h1>
           <p>Pesto is good!</p>
          </body>
          </html>
          
          • 在文檔起始位置引用CSS文件,如下:
          <head>
           <title>My pesto recipe</title>
           <link rel="stylesheet" href="/css/global.css">
           <link rel="stylesheet" href="css/local.css">
          </head>
          

          使用這兩種方法,瀏覽器會在解析HTML代碼之前將CSS信息準備好。因此有助于提升頁面加載性能。

          在頁面底部body結(jié)束標簽之前輸入JavaScript代碼,這樣有助于提升頁面加載的速度,因為瀏覽器在解析JavaScript代碼之前將頁面加載完成,使用JavaScript會對頁面元素產(chǎn)生積極的影響。

          <body>
           ...
           <script src="/js/global.js">
           <script src="js/local.js">
          </body>
          

          使用Defer和async屬性,腳本元素具有async 屬性無法保證會按順序執(zhí)行。

          可在JavaScript代碼中添加Handlers。千萬別加到HTML內(nèi)聯(lián)代碼中,比如下面的代碼則容易導(dǎo)致錯誤且不易于維護:

          index.html:

          <head>
           ...
           <script src="js/local.js">
          </head>
          <body onload="init()">
           ...
           <button onclick="handleFoo()">Foo</button>
           ...
          </body>
          

          下面的寫法比較好:

          index.html:

          <head>
           ...
          </head>
          <body>
           ...
           <button id="foo">Foo</button>
           ...
           <script src="js/local.js">
          </body>
          

          js/local.js:

          init();
          var fooButton =
           document.querySelector('#foo');
          fooButton.onclick = handleFoo();
          

          驗證

          優(yōu)化網(wǎng)頁的一種方法就是瀏覽器可處理非法的HTML 代碼。合法的HTML代碼很容易調(diào)試,且占內(nèi)存少,耗費資源少,易于解析和渲染運行起來更快。非法的HTML代碼讓實現(xiàn)響應(yīng)式設(shè)計變得異常艱難。

          當使用模板時,合法的HTML代碼顯得異常重要,經(jīng)常會發(fā)生模板單獨運行良好,當與其他模塊集成時就報各種各樣的錯誤,因此一定要保證HTML代碼的質(zhì)量,可采取以下措施:

          • 在工作流中添加驗證功能:使用驗證插件如HTMLHint或SublineLinter幫助你檢測代碼錯誤。
          • 使用HTML5文檔類型
          • 確保HTML的層次結(jié)構(gòu)易于維護,要避免元素嵌套處于左開狀態(tài)。
          • 保證添加各元素的結(jié)束標簽。
          • 刪除不必要的代碼 ;沒有必要為自關(guān)閉的元素添加結(jié)束標簽;Boolean 屬性不需要賦值,如果存在則為True;

          代碼格式

          格式一致性使得HTML代碼易于閱讀,理解,優(yōu)化,調(diào)試。

          語義標記

          語義指意義相關(guān)的事物,HTML 可從頁面內(nèi)容中看出語義:元素和屬性的命名一定程度上表達了內(nèi)容的角色和功能。HTML5 引入了新的語義元素,如<header>,<footer>及<nav>。

          選擇合適的元素來編寫代碼可保證代碼的易讀性:

          • 使用<h1>(<h2>,<h3>…)表示標題,<ul>或<ol>實現(xiàn)列表
          • 注意使用<article> 標簽之前應(yīng)添加<h1>標簽;
          • 選擇合適的HTML5語義元素如<header>,<footer>,<nav>,<aside>;
          • 使用<p>描述Body 文本,HTML5 語義元素可以形成內(nèi)容,反之不成立。
          • 使用<em>和<strong>標簽替代<i>和<b>標簽。
          • 使用<label>元素,輸入類型,占位符及其他屬性來強制驗證。
          • 將文本和元素混合,并作為另一元素的子元素,會導(dǎo)致布局錯誤,

          例如:

          <div>Name: <input type="text" id="name"></div>
          

          換種寫法會更好:

           1: <div>
           2: <label for="name">Name:</label><input type="text" id="name">
           3: </div>
          

          布局

          要提高HTML代碼的性能,要遵循HTML 代碼以實現(xiàn)功能和為目標,而不是樣式。

          • 使用<p>元素修飾文本,而不是布局;默認<p>是自動提供邊緣,而且其他樣式也是瀏覽器默認提供的。
          • 避免使用<br>分行,可以使用block元素或CSS顯示屬性來代替。
          • 避免使用<hr>來添加水平線,可使用CSS的border-bottom 來代替。
          • 不到關(guān)鍵時刻不要使用div標簽。
          • 盡量少用Tables來布局。
          • 可以多使用Flex Box
          • 使用CSS 來調(diào)整邊距等。

          CSS

          雖然本文講解的是如何優(yōu)化HTML,下面介紹了一些使用css的基本技能:

          • 避免內(nèi)聯(lián)css
          • 最多使用ID類 一次
          • 當涉及多個元素時,可使用Class來實現(xiàn)。

          以上就是本文介紹的優(yōu)化HTML代碼的技巧,一個高質(zhì)量高性能的網(wǎng)站,往往取決于對細節(jié)的處理,因此我們在日常開發(fā)中,能夠考慮到用戶體驗,后期維護等方面,則會產(chǎn)生更高效的開發(fā)。

          ava開發(fā)已經(jīng)悄無聲息的走進我們的生活中,無論是手機軟件、手機Java游戲還是電腦軟件等,只要你使用到電子產(chǎn)品就會碰到和Java有關(guān)的東西,更多的企業(yè)正采用Java語言開發(fā)網(wǎng)站,也心音了好多志同道合的朋友開始加入Java開發(fā)的行列。千鋒教育強勢推出的Java+大數(shù)據(jù)的新課程,為更多的Java學習者打造更加先進的Java開發(fā)技術(shù)。

          我們知道在Java的學習中,Javaweb是我們的必修階段,而在Javaweb開發(fā)中,我們學習的第一課便是HTML5和CSS的入門基礎(chǔ)。我們常說的要瀏覽的網(wǎng)頁就是由HTML語言來編寫的,而CSS就是能讓我們的網(wǎng)頁更加絢麗。通過HTML和CSS的編碼來顯示我們的網(wǎng)頁。所以web開發(fā)的必備技能便是HTML和CSS。

          那什么是HTML呢?HTML就是超文本標記語言。下面是千鋒小編為大家準備的HTML的發(fā)展史,教你一步一步踏入Java的世界。

          HTML1.0-2.0,分別是在1989年和1991年誕生,起初的這兩個版本只有幾個基本的標簽,而且做出來的網(wǎng)頁也不是很好看,但已經(jīng)支持了超文本。所以幾乎web上的每一個人都有他們的主頁。

          HTML3是在1995年的時候誕生,那時候還誕生了一場漫長而殘酷的瀏覽器戰(zhàn)爭,Netscape和 microsoft都在試圖爭霸世界,每個瀏覽器都在不斷的增加自己的專用擴展包。

          HTML4有1998年誕生,此時瀏覽器戰(zhàn)爭結(jié)束web標準誕生,HTML的結(jié)構(gòu)和表現(xiàn)分離到兩種語言,一種語言用于實現(xiàn)結(jié)構(gòu)(HTML);一種語言用于表現(xiàn)(CSS)

          HTML4.01在1999年誕生,與HTML4相比只是做了一些簡單的修補,所有的瀏覽器都采用一直的標準,除了IE瀏覽器,所以web開發(fā)人員都要單獨做一些工作。

          XHTML在 2001年誕生,是XML和HTML的結(jié)合,只是XHTML相比于HTML的標準更加嚴格。但是web開發(fā)人員對HTML的靈活性更加的擁護。

          HTML5是沿用了HTML4.01的大部分特性,提供了體現(xiàn)web新發(fā)展的新特性,完全支持XHTML風格的代碼,從此HTML5成為大家公認的標準。也就是我們現(xiàn)在都在用的版本HTML5。

          HTML5 目標是書寫簡潔的HTML代碼,創(chuàng)建更加簡單的web程序。而我們HTML5常用的標簽:標題標簽、段落標簽、無序列表標簽、有序列表標簽等

          我們目前用的CSS3是CSS的新標準,是對CSS2的更新,就像我們美麗的圖片,和我們在照片中做的特效,將我們的網(wǎng)頁裝飾的更加精彩,我們看起來更加舒服。

          高樓之所以能高峨聳立,是因為有地基的權(quán)利支撐;同樣的Java開發(fā)之所以能夠盡善盡美,是因為我們的HTML和CSS的完美助力,學習Java開發(fā)從千鋒開始吧!

          千鋒JavaEE+云數(shù)據(jù)講師團匯集行業(yè)頂尖師資,以從業(yè)經(jīng)驗5年以上的技術(shù)大咖面授教學,原華為技術(shù)官、IBM技術(shù)負責人、中興項目負責人為首的千鋒講師,撐起國內(nèi)JavaEE+云數(shù)據(jù)教學第一道防線,力保Java的教學品質(zhì)。選擇千鋒Java培訓(xùn),是你成功的開始,過程中的努力,讓你的成功成為必然!

          前后端分離已成為互聯(lián)網(wǎng)項目開發(fā)的業(yè)界標準使用方式,通過nginx+tomcat的方式(也可以中間加一個nodejs)有效的進行解耦,并且前后端分離會為以后的大型分布式架構(gòu)、彈性計算架構(gòu)、微服務(wù)架構(gòu)、多端化服務(wù)(多種客戶端,例如:瀏覽器,車載終端,安卓,IOS等等)打下堅實的基礎(chǔ)。這個步驟是系統(tǒng)架構(gòu)從猿進化成人的必經(jīng)之路。

          核心思想:前端html頁面通過ajax調(diào)用后端的restuful api接口并使用json數(shù)據(jù)進行交互

          在互聯(lián)網(wǎng)架構(gòu)中,

          web服務(wù)器:一般指像nginx,apache這類的服務(wù)器,他們一般只能解析靜態(tài)資源。

          應(yīng)用服務(wù)器:一般指像tomcat,jetty,resin這類的服務(wù)器可以解析動態(tài)資源也可以解析靜態(tài)資源,但解析靜態(tài)資源的能力沒有web服務(wù)器好。

          一般都是只有web服務(wù)器才能被外網(wǎng)訪問,應(yīng)用服務(wù)器只能內(nèi)網(wǎng)訪問。

          以前的JavaWeb項目大多數(shù)都是java程序員又當?shù)之攱專指闱岸耍╝jax/jquery/js/html/css等等),又搞后端(java/mysql/oracle等等)。

          隨著時代的發(fā)展,漸漸的許多大中小公司開始把前后端的界限分的越來越明確,前端工程師只管前端的事情,后端工程師只管后端的事情。正所謂術(shù)業(yè)有專攻。

          對于后端java工程師:

          把精力放在java基礎(chǔ),設(shè)計模式,jvm原理,spring+springmvc原理及源碼,linux,mysql事務(wù)隔離與鎖機制,mongodb,http/tcp,多線程,分布式架構(gòu)(dubbo,dubbox,spring cloud),彈性計算架構(gòu),微服務(wù)架構(gòu)(springboot+zookeeper+docker+jenkins),java性能優(yōu)化,以及相關(guān)的項目管理等等。

          后端追求的是:三高(高并發(fā),高可用,高性能),安全,存儲,業(yè)務(wù)等等。

          對于前端工程師:

          把精力放在html5,css3,jquery,angularjs,bootstrap,reactjs,vuejs,webpack,less/sass,gulp,nodejs,Google V8引擎,javascript多線程,模塊化,面向切面編程,設(shè)計模式,瀏覽器兼容性,性能優(yōu)化等等。

          前端追求的是:頁面表現(xiàn),速度流暢,兼容性,用戶體驗等等。

          通常我們的JavaWeb項目都是使用了若干后臺框架,springmvc/struts + spring + spring jdbc/hibernate/mybatis 等等。大多數(shù)項目在java后端都是分了三層,控制層(controller/action),業(yè)務(wù)層(service/manage),持久層(dao)。控制層負責接收參數(shù),調(diào)用相關(guān)業(yè)務(wù)層,封裝數(shù)據(jù),以及路由&渲染到j(luò)sp頁面。然后jsp頁面上使用各種標簽(jstl/el/struts標簽等)或者手寫java表達式(<%=%>)將后臺的數(shù)據(jù)展現(xiàn)出來,玩的是MVC那套思路。緊接著系統(tǒng)發(fā)布,你需要用maven或者eclipse等工具把你的代碼打成一個war包,然后把這個war包發(fā)布到你的生產(chǎn)環(huán)境下的web容器(tomcat/jboss/weblogic/websphere/jetty/resin)里,對吧?發(fā)布完了之后,你要啟動你的web容器,開始提供服務(wù),這時候你通過配置域名,dns等等相關(guān),你的網(wǎng)站就可以訪問了。這樣一來,你的前后端代碼全都在那個war包里了,包括你的js,css,圖片,各種第三方的庫。

          在瀏覽器中輸入你的網(wǎng)站域名(www.xxx.com),之后發(fā)生了什么?瀏覽器通過域名,再通過dns服務(wù)器找到你的服務(wù)器外網(wǎng)ip,將http請求發(fā)送到你的服務(wù)器,在tcp3次握手之后(http下面是tcp/ip),通過tcp協(xié)議開始傳輸數(shù)據(jù),你的服務(wù)器得到請求后,開始提供服務(wù),接收參數(shù),之后返回你的應(yīng)答給瀏覽器,瀏覽器再通過content-type來解析你返回的內(nèi)容,呈現(xiàn)給用戶。

          我們先假設(shè)你的首頁中有100張圖片,此時,用戶的看似一次http請求,其實并不是一次,用戶在第一次訪問的時候,瀏覽器中不會有緩存,你的100張圖片,瀏覽器要連著請求100次http請求(有人會跟我說http長連短連的問題,不在這里討論),你的服務(wù)器接收這些請求,都需要耗費內(nèi)存去創(chuàng)建socket來玩tcp傳輸(消耗你服務(wù)器上的計算資源)。這樣的話,你的服務(wù)器的壓力會非常大,因為頁面中的所有請求都是只請求到你這臺服務(wù)器上,如果1個人還好,如果10000個人并發(fā)訪問呢(先不聊服務(wù)器集群,這里就說是單實例服務(wù)器),那你的服務(wù)器能扛住多少個tcp連接?你的帶寬有多大?你的服務(wù)器的內(nèi)存有多大?你的硬盤是高性能的嗎?你能抗住多少IO?你給web服務(wù)器分的內(nèi)存有多大?會不會宕機?

          這就是為什么,越是大中型的web應(yīng)用,他們越是要解耦。

          理論上你可以把你的數(shù)據(jù)庫+應(yīng)用服務(wù)+消息隊列+緩存+用戶上傳的文件+日志+等等都扔在一臺服務(wù)器上,你也不用玩什么服務(wù)治理,也不用做什么性能監(jiān)控,什么報警機制等等。但是這樣把雞蛋都放在一個籃子里,隱患非常大。如果因為一個子應(yīng)用的內(nèi)存不穩(wěn)定導(dǎo)致整個服務(wù)器內(nèi)存溢出而hung住,那你的整個網(wǎng)站就掛掉了。

          JSP的痛點:

          以前的javaWeb項目大多數(shù)使用jsp作為頁面層展示數(shù)據(jù)給用戶,因為流量不高,因此也沒有那么苛刻的性能要求,但現(xiàn)在是大數(shù)據(jù)時代,對于互聯(lián)網(wǎng)項目的性能要求是越來越高。

          1.動態(tài)資源和靜態(tài)資源全部耦合在一起,服務(wù)器壓力大,因為服務(wù)器會收到各種http請求,例如css的http請求,js的,圖片的等等。一旦服務(wù)器出現(xiàn)狀況,前后臺一起玩完,用戶體驗極差。

          2.UI出好設(shè)計圖后,前端工程師只負責將設(shè)計圖切成html,需要由java工程師來將html套成jsp頁面,出錯率較高,修改問題時需要雙方協(xié)同開發(fā),效率低下。

          3.jsp必須要在支持java的web服務(wù)器里運行(例如tomcat,jetty,resin等),無法使用nginx等(nginx據(jù)說單實例http并發(fā)高達5w,這個優(yōu)勢要用上),性能提不上來。

          4.第一次請求jsp,必須要在web服務(wù)器中編譯成servlet,第一次運行會較慢。

          5.每次請求jsp都是訪問servlet再用輸出流輸出的html頁面,效率沒有直接使用html高。

          6.jsp內(nèi)有較多標簽和表達式,前端工程師在修改頁面時會遇到很多痛點。

          7.如果jsp中的內(nèi)容很多,頁面響應(yīng)會很慢,因為是同步加載。

          8.需要前端工程師使用java的ide(例如eclipse),以及需要配置各種后端的開發(fā)環(huán)境,你們有考慮過前端工程師的感受嗎。

          基于上述的一些痛點,我們應(yīng)該把整個項目實現(xiàn)前后端真正的解耦!

          前后分離的優(yōu)勢:

          1.可以實現(xiàn)真正的前后端解耦,前端服務(wù)器使用nginx。

          前端/WEB服務(wù)器放的是css,js,圖片等等一系列靜態(tài)資源(甚至你還可以css,js,圖片等資源放到特定的文件服務(wù)器,例如阿里云的oss,并使用cdn加速),前端服務(wù)器負責控制頁面引用&跳轉(zhuǎn)&路由,前端頁面異步調(diào)用后端的接口,后端/應(yīng)用服務(wù)器使用tomcat(把tomcat想象成一個數(shù)據(jù)提供者),加快整體響應(yīng)速度。

          (這里需要使用一些前端工程化的框架比如nodejs,react,router,react,redux,webpack)

          2.發(fā)現(xiàn)bug,可以快速定位是誰的問題,不會出現(xiàn)互相踢皮球的現(xiàn)象。

          頁面邏輯,跳轉(zhuǎn)錯誤,瀏覽器兼容性問題,腳本錯誤,頁面樣式等問題,全部由前端工程師來負責。

          接口數(shù)據(jù)出錯,數(shù)據(jù)沒有提交成功,應(yīng)答超時等問題,全部由后端工程師來解決。

          雙方互不干擾,前端與后端是相親相愛的一家人。

          3.在大并發(fā)情況下,可以同時水平擴展前后端服務(wù)器,比如淘寶的一個首頁就需要2000+臺前端服務(wù)器做集群來抗住日均多少億+的日均pv。

          4.減少后端服務(wù)器的并發(fā)/負載壓力

          除了接口以外的其他所有http請求全部轉(zhuǎn)移到前端nginx上,接口的請求調(diào)用tomcat,參考nginx反向代理tomcat。

          且除了第一次頁面請求外,瀏覽器會大量調(diào)用本地緩存。

          5.即使后端服務(wù)暫時超時或者宕機了,前端頁面也會正常訪問,只不過數(shù)據(jù)刷不出來而已。

          6.也許你也需要有微信相關(guān)的輕應(yīng)用,那樣你的接口完全可以共用,如果也有app相關(guān)的服務(wù),

          那么只要通過一些代碼重構(gòu),也可以大量復(fù)用接口,提升效率。(多端應(yīng)用)

          7.頁面顯示的東西再多也不怕,因為是異步加載。

          8.nginx支持頁面熱部署,不用重啟服務(wù)器,前端升級更無縫。

          9.增加代碼的維護性&易讀性(前后端耦在一起的代碼讀起來相當費勁)。

          10.提升開發(fā)效率,因為可以前后端并行開發(fā),而不是像以前的強依賴。

          11.在nginx中部署證書,外網(wǎng)使用https訪問,并且只開放443和80端口,其他端口一律關(guān)閉(防止黑客端口掃描),內(nèi)網(wǎng)使用http,性能和安全都有保障。

          12.前端大量的組件代碼得以復(fù)用,組件化,提升開發(fā)效率,抽出來!

          總結(jié)一下新的方式的請求步驟:

          大量并發(fā)瀏覽器請求--->web服務(wù)器集群(nginx)--->應(yīng)用服務(wù)器集群(tomcat)--->文件/數(shù)據(jù)庫/緩存/消息隊列服務(wù)器集群

          同時又可以玩分模塊,還可以按業(yè)務(wù)拆成一個個的小集群,為后面的架構(gòu)升級做準備。


          主站蜘蛛池模板: 久久久无码精品国产一区 | 国产人妖视频一区在线观看| 无码人妻精品一区二区三区夜夜嗨 | 一区二区日韩国产精品| 一区二区视频传媒有限公司| 日韩伦理一区二区| 亚洲av无码一区二区三区四区 | 风间由美性色一区二区三区 | 国产一区二区内射最近更新| 国产精品亚洲专一区二区三区| 亚洲AV综合色区无码一区| 国产嫖妓一区二区三区无码| 毛片一区二区三区| 日本无卡码一区二区三区| 日韩精品无码一区二区三区不卡 | 日韩一区二区三区无码影院| 中文字幕在线视频一区| 无码精品人妻一区| 亚洲AV网一区二区三区| 国产成人精品一区二三区熟女| 精品无码成人片一区二区98| 日韩精品一区二区三区色欲AV| 亚洲电影一区二区| 香蕉久久一区二区不卡无毒影院 | 亚洲乱码一区二区三区在线观看 | 丝袜美腿一区二区三区| 日韩免费一区二区三区在线| 亚洲一区二区三区91| 3d动漫精品啪啪一区二区中| 精品不卡一区二区| 国产乱人伦精品一区二区 | 亚洲日韩AV一区二区三区四区| 精品国产一区二区三区久久久狼 | 真实国产乱子伦精品一区二区三区 | 国产suv精品一区二区33| 中文乱码精品一区二区三区| 久久精品无码一区二区三区| 日韩爆乳一区二区无码| 99精品国产一区二区三区2021| 国语对白一区二区三区| 精品一区精品二区|