Web性能再提升一檔的技巧

2021-02-15    分類: 網(wǎng)站建設(shè)

為什么web性能如此重要?

真的非常重要!

響應(yīng)更快的網(wǎng)站會(huì)帶給用戶更好的體驗(yàn),理論上講,好的體驗(yàn)等于好的用戶滿意度。更快,也意味著用戶在放棄之前,有希望更快的訪問到你的網(wǎng)站。放棄的原因有很多:頁面加載時(shí)間太長,用戶失去了興趣,瀏覽器崩潰等等。提高性能可以降低放棄率,會(huì)給網(wǎng)站了帶來顯著的效益。

運(yùn)行時(shí)的性能受很多因素影響:

  • 從完成特定功能所采用的算法效率到優(yōu)化方法;
  • 從解釋器和瀏覽器渲染引擎的優(yōu)化或不足到有效內(nèi)存管理和CPU使用率;
  • 再到設(shè)計(jì)時(shí)間同步和異步操作之間的選擇,都會(huì)對(duì)性能產(chǎn)生影響。

運(yùn)行時(shí)的性能是一個(gè)比較主觀的感覺。今天就從三個(gè)角度分享一下小編的性能優(yōu)化小技巧。

  • 角度一:當(dāng)我們?cè)跒g覽器的地址欄輸入一個(gè)URL,就開啟了一個(gè)新的網(wǎng)絡(luò)線程,DNS解析、TCP連接和HTTP請(qǐng)求和響應(yīng),不可避免地依賴網(wǎng)絡(luò)環(huán)境、受到網(wǎng)絡(luò)延遲、網(wǎng)絡(luò)不穩(wěn)定等因素影響。我們能做的只有盡可能減少網(wǎng)絡(luò)請(qǐng)求,以減少網(wǎng)絡(luò)線程產(chǎn)生的網(wǎng)絡(luò)消耗。
  • 角度二:瀏覽器也有部分原因,主流瀏覽器有IE、Chrome、Safari、Firefox、Opera等,不同的瀏覽器的JS引擎性能不同,帶給用戶的體驗(yàn)也不同,比如IE8及以下的內(nèi)核表現(xiàn)不好是眾所周知的。
  • 角度三:除去網(wǎng)絡(luò)、瀏覽器等外圍因素,影響web性能的主要還是頁面本身。作為開發(fā)人員,性能優(yōu)化可以控制的部分就是頁面,包括頁面大小、頁面結(jié)構(gòu)、JS、CSS等等。

針對(duì)以上3點(diǎn)頁面加載過程所涉及到的因素,下面做簡單討論和優(yōu)化的辦法介紹~

性能優(yōu)化小技巧

根據(jù)這個(gè)公式,我們可以控制資源盡可能小。可以采取使用gulp等自動(dòng)化構(gòu)建工具進(jìn)行自動(dòng)合并JS文件、壓縮文件和圖片等手段。

2) 避免重定向:重定向說明需要客戶端采取進(jìn)一步操作才能完成請(qǐng)求,請(qǐng)求時(shí)間就會(huì)延長。所以輸入U(xiǎn)RL時(shí)應(yīng)使用最完整的、最直接的地址,比如輸入www.baidu.com而不是baidu.com。

3) 使用緩存機(jī)制:主要有數(shù)據(jù)庫緩存、服務(wù)端緩存(反向代理和CDN緩存)、瀏覽器緩存。

2.  圖片懶加載

頁面圖片很多的,可以使用懶加載。只加載第一屏的圖片,當(dāng)用戶滾動(dòng)訪問后面的內(nèi)容時(shí)再加載相應(yīng)圖片。方法是先用一張極小的占位圖代替圖片,占位圖只下載一次,將原本圖片的src存儲(chǔ)在另一個(gè)屬性中,判斷當(dāng)圖片快進(jìn)入可視區(qū)域就將路徑賦值給src并下載圖片進(jìn)行展示。下面是簡單的例子:

注意這 3 個(gè)小細(xì)節(jié), Web 性能再提升一檔!

3. 代碼優(yōu)化

1)頁面結(jié)構(gòu):CSS放在HTML內(nèi)容上部,JavaScript放在HTML內(nèi)容下部。可以使用preload提前解析資源的DNS。由于瀏覽器是自上而下讀取內(nèi)容的,因此放置資源的位置會(huì)影響網(wǎng)站的訪問速度。比如,如果將script標(biāo)簽放在HTML內(nèi)容的前邊,瀏覽器就會(huì)先調(diào)用JavaScript解釋器對(duì)JS進(jìn)行解析,完成之后才會(huì)渲染其余的HTML內(nèi)容,對(duì)用戶來說,能看到的是HTML的內(nèi)容,所以1) 這么做會(huì)導(dǎo)致頁面可用性的延遲。另外,CSS是對(duì)頁面節(jié)點(diǎn)進(jìn)行修飾的,如果CSSOM未構(gòu)建之前就進(jìn)行了布局,等到CSSOM構(gòu)建出來,如果CSS修改了節(jié)點(diǎn)的布局,就會(huì)發(fā)生重排,需要重新計(jì)算布局并繪制。

2) JavaScript優(yōu)化:比如減少對(duì)DOM的操作,減少重排和重繪,減少作用域鏈查找,慎用eval函數(shù)等等。JS代碼和(下面的)CSS的優(yōu)化主要要求前端開發(fā)人員對(duì)頁面渲染原理有清晰的了解、對(duì)基礎(chǔ)知識(shí)的掌握和良好的編程習(xí)慣。

3) CSS優(yōu)化:比如減少使用通配符‘*’,提取公用樣式增強(qiáng)可復(fù)用性,選擇器準(zhǔn)確可減少匹配時(shí)間,適度使用內(nèi)聯(lián)樣式。

分享題目:Web性能再提升一檔的技巧
分享路徑:http://www.muchs.cn/news/101038.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)網(wǎng)站內(nèi)鏈、電子商務(wù)企業(yè)建站、建站公司、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)