前端效能優化

2021-10-11 11:18:45 字數 1849 閱讀 6292

效能優化需要從哪幾個方面入手?我們要先了解瀏覽器開啟網頁的過程。

瀏覽器對url進行dns解析

瀏覽器與伺服器進行tcp連線

瀏覽器發出http請求

伺服器返回http響應

瀏覽器進行頁面渲染

一 瀏覽器傳送http請求

1.減少請求次數

1.資源合併

---使用打包工具,使用webpack等工具,對js和css資源進行打包,避免js或css檔案過多。

---但也要考慮打包檔案過大的問題,需要再這之間進行綜合考慮。

---在spa中常用的實踐是,webpack提取出的公用檔案先載入,然後路由相關的檔案按需載入。減小入口檔案體積,常用的手段是路由懶載入,開啟 路由懶載入之後,待請求的頁面會單獨打包js檔案,使得入口檔案index.js變小,

2.合理利用快取

--- 強快取(200)本地快取是最快速的一種快取方式,只要資源還在快取有效期內,瀏覽器就會直接在本地讀取,不會請求服務端

--- 協商快取(304) 協商快取,顧名思義是經過瀏覽器與伺服器之間協商過之後,在決定是否讀取本地快取,如果伺服器通知瀏覽器可以讀取本 快取,會返回304狀態碼,並且協商過程很簡單,只會傳送頭資訊,不會傳送響應體。

2.縮小請求體積

1. 資源壓縮

--- gzip,傳輸的時候可以在伺服器端開啟gzip壓縮,可以有效減少傳輸檔案的大小,可以在響應頭content-encoding: gzip中看到。

--- **壓縮

--- 壓縮

2.選用正確的格式

png無損格式,壓縮率一般,支援透明背景,常用於透明或者icon等。

jpg有損格式,壓縮率較好,常用於複雜的大圖,不支援透明背景。

svg向量圖形,可程式設計。在各解析度下不失真,但是渲染複雜圖形較消耗效能。常用於簡單圖形。

webp

無損格式,相較於png和jpg來說,壓縮率更好,同時支援透明背景。唯一的缺點是相容性不好。可用於相容性好的瀏覽器,用jpg和png做回退機制。

二 伺服器傳送http響應
1.減少響應時間

1.利用cdn

---cdn全稱content delivery network。它是依靠部署在各地區的邊緣伺服器,達到使用者就近獲取內容,降低網路擁塞,提高使用者訪問速度和命 中率的目的。它主要的關鍵技術是內容儲存和分發技術。

---cdn減少打包體積 使用 cdn 檔案來減少工程到打包體積

2.降低頁面初始渲染時間

1.伺服器渲染 ssr
三 頁面渲染
1.減少阻塞

2.減少渲染次數

1.避免回流與重繪

---回流又稱為重排,即通過某種手段改變了元素的位置大小等資訊,導致瀏覽器需要重新計算和渲染的過程。而重繪只是被改變了樣式如背景和顏色等

3.減少渲染節點數量

1. 懶載入

---對於一些不在使用者檢視內的元素,我們可以在展示的時候先不進行渲染,直到該元素出現在了檢視內再進行渲染。// 一張就是乙個

在沒有進入可視區域時,先不給

四 其他
...

...

前端效能優化

1.減少http請求次數 css sprites 在國內很多人叫css精靈,是一種網頁應用處理方式。它允許你將乙個頁面涉及到的所有零星都包含到一張大圖中去,這樣一來,當訪問該頁面時,載入的就不會像以前那樣一幅一幅地慢慢顯示出來了。對於當前網路流行的速度而言,不高於200kb的單張的所需載入時間基本是...

前端效能優化

在開發好頁面後,如何讓頁面更好更快的執行 從前端的角度來看,效能可以分為兩個方向 從使用者角度來看,乙個是頁面載入的很快,另乙個是頁面使用起來非常流暢 輸入了url 瀏覽器開始解析 查詢本地快取 dns解析 建立連線 伺服器處理 伺服器響應 客戶端收到響應 解析html 然後開始渲染頁面 使用者可以...

前端效能優化

隨著現在 越來越酷炫,各種,資源庫,動畫等等用的越來越多,在使用者視覺和功能的提公升的同時,效能也成為乙個必須考慮的點。有人說 乙個 開啟時間超過8s,網民就會流失70 以上。這種說法我覺得不是很正確的,除非是非常重要 必須要使用的 否則超過5s我基本直接關了,體驗太差。所以,使用者 忍讓 是有極限...