web 性能優(yōu)化

web 性能優(yōu)化主要分為兩類:加載時優(yōu)化與運行時優(yōu)化;
從以下幾個方面考慮;減少請求次數(shù)、減少資源加載量、減少請求耗時、提高頁面響應(yīng)速度、注重用戶體驗;
性能優(yōu)化也有相應(yīng)的代價,需要根據(jù)實際場景測試后進行權(quán)衡,避免不必要的優(yōu)化。

1.DNS 服務(wù)優(yōu)化

  • 采用 DNS 加速器加速 DNS 解析;
  • 配置 host,減少 DNS 解析;

2.TCP 連接復(fù)用 keep-alive

  • HTML,css,js等文件可以通過一次 TCP 連接發(fā)起請求

3.SQL 優(yōu)化

  • 通過優(yōu)化 SQL 查詢數(shù)據(jù)庫的時間,減少 waiting 時間

4.提高服務(wù)器帶寬

  • 升級服務(wù)器帶寬提高響應(yīng)速度

5.gzip 壓縮

  • Content-Encoding: gzip 后臺開啟 gzip 壓縮響應(yīng)資源
  • 瀏覽器解壓縮資源

6.優(yōu)化 css

  • 去除冗余的 css 選擇器和內(nèi)容,減少重復(fù)渲染

7.優(yōu)先加載 css

  • css 先加載呈現(xiàn)頁面內(nèi)容,再加載 js 資源

8.懶加載

  • 先加載首屏資源,提高頁面響應(yīng)速度

9.資源預(yù)加載

  • 一些重要的資源可以預(yù)先加載,提高用戶點擊時的頁面響應(yīng)速度,比如上一頁、下一頁內(nèi)容

10.利用 HTTP 緩存

  • 除首頁 HTML 之外資源可以利用 Cache-Control: max-age 強制緩存
  • 利用 md5 對資源添加版本號
  • 當(dāng)資源發(fā)生更新時,版本號會變化,重新去服務(wù)器獲取新資源

11.多個域名分批請求

  • 一個域名的最大并發(fā)請求數(shù)是有限制的
  • 將資源進行分類,不同的 CDN 域名請求不同的資源,提高并發(fā)請求數(shù)
  • cookie-free: css 資源,圖片資源等利用 CDN 域名可以不用攜帶 cookie,減少上傳量

12.采用 HTTP2.0

  • 多路復(fù)用;
  • 頭部壓縮;
  • 服務(wù)端推送

13.服務(wù)端渲染

  • 服務(wù)端渲染的網(wǎng)站則會渲染完頁面再返回 HTML 文件,客戶端只需解析 HTML 即可
  • 首屏渲染速度提高,同時利于 SEO 優(yōu)化

14.采用 iconfont 字體圖標(biāo)

  • 字體圖標(biāo)生成文件小,矢量圖不失真
  • 可以和字體一樣設(shè)置屬性

15.減少頁面的重排重繪

  • JS避免直接修改樣式,通過替換 class 來修改樣式
  • 合理利用文檔流特點,脫離文檔流使得操作 DOM 對頁面其它元素的影響降低
  • 使用 CSS3 的 transform 觸發(fā)瀏覽器開啟 GPU 加速,如transform: translateZ(0)
  • 減少浮動的使用,減少渲染性能消耗

16.添加 favicon.ico

  • 如果沒有設(shè)置圖標(biāo) ico,瀏覽器默認(rèn)的圖標(biāo)會多發(fā)送一個 404 或者 500 的請求

17.采用事件委托添加事件

  • 利用事件冒泡機制,通過指定一個事件來托管子元素的事件
  • 多數(shù)鼠標(biāo)事件、鍵盤事件都適合采用事件委托
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 如何理解 Web 性能優(yōu)化 事實上就是用戶覺得頁面加載很快,用戶從輸入URL(網(wǎng)址)到頁面在瀏覽器上加載出來的時間...
    不討喜的大雄閱讀 726評論 0 2
  • 網(wǎng)頁性能優(yōu)化的目的 減少服務(wù)器壓力 增強用戶體驗,減少加載時間,通俗地說就是用戶感覺打開你的網(wǎng)頁很快,等待頁面資源...
    Scott1738閱讀 404評論 0 1
  • 理解 Web 性能優(yōu)化 對于Web的性能話題,從來都沒有斷絕過。因為這個東西沒有最好,只有更好。而且往往也是業(yè)務(wù)的...
    lyp82nkl閱讀 98評論 0 0
  • 最近在寫一個智慧教室行為管理網(wǎng)站,網(wǎng)站已經(jīng)完工,老師見我沒事兒干了,讓我嘗試如何在前端實現(xiàn)性能優(yōu)化,以前也模糊知道...
    DecadeHeart閱讀 2,093評論 0 2
  • 我們都知道對于Web應(yīng)用來說性能很重要。然而性能優(yōu)化相關(guān)的知識卻非常的龐大并且雜亂。對于性能優(yōu)化需要做些什么以及性...
    PHP9年架構(gòu)師閱讀 337評論 0 6

友情鏈接更多精彩內(nèi)容