愛前端:web前端性能優(yōu)化指南

摘要:一般來說頁面訪問的時間有一條著名的“2-5-8原則”。當(dāng)用戶訪問一個頁面:

  • 在2秒內(nèi)得到響應(yīng)時挽荡,會感覺系統(tǒng)響應(yīng)很快藐石;
  • 在2-5秒之間得到響應(yīng)時,會感覺系統(tǒng)的響應(yīng)速度還可以定拟;
  • 在5-8秒以內(nèi)得到響應(yīng)時于微,會感覺系統(tǒng)的響應(yīng)速度很慢,但可以接受青自;

而超過8秒后仍然無法得到響應(yīng)時株依,用戶會感覺系統(tǒng)糟透了,進(jìn)而選擇離開這個站點(diǎn)延窜,或者發(fā)起第二次請求恋腕。對于一個網(wǎng)站如果希望抓住用戶,網(wǎng)站的速度以及穩(wěn)定性是非常重要的逆瑞。

一荠藤、為什么要做性能優(yōu)化伙单?

從上面可以看出,網(wǎng)站前端的用戶體驗決定了用戶是否想要去使用網(wǎng)站的功能哈肖,而網(wǎng)站的功能決定了用戶是否會一票否決前端體驗吻育。 不僅僅如此,如果前端優(yōu)化得好淤井,他不僅可以為企業(yè)節(jié)約成本布疼,他還能給用戶帶來更多的用戶,因為增強(qiáng)的用戶體驗币狠《谐總結(jié)成三點(diǎn)就是:
1、加快頁面展示和運(yùn)行速度
2总寻、節(jié)約服務(wù)器帶寬流量
3、減少服務(wù)器壓力

二梢为、什么時候做性能優(yōu)化最合適渐行?

一般來說,遵循避免過早優(yōu)化的原則铸董,因為網(wǎng)站再發(fā)過程中的成本相對來說還是比較高的祟印,web開發(fā)工程師、ui粟害、產(chǎn)品蕴忆、運(yùn)維、后臺服務(wù)等等悲幅,所以第一我們要保證基本功能完成套鹅,再考慮優(yōu)化。第二在沒有找到性能瓶頸之前汰具,不要優(yōu)化

三卓鹿、哪方面需要做性能優(yōu)化?

在這之前留荔,我們先分析一個頁面從發(fā)起請求到展示到用戶大概流程
1吟孙、DNS 查詢
2、發(fā)送 HTTP 請求
3聚蝶、等待服務(wù)器響應(yīng)
4杰妓、下載服務(wù)器響應(yīng)內(nèi)容
5、解析 HTML碘勉、CSS巷挥、JS
6、渲染 HTML恰聘、CSS句各、JS 和圖片
7吸占、響應(yīng)用戶事件
了解了這幾個過程,大家應(yīng)該知道如何優(yōu)化了吧凿宾,對矾屯,就是對癥下藥:
1、針對 DNS 查詢優(yōu)化

減少網(wǎng)站所用的域名個數(shù)(現(xiàn)代瀏覽器基本都具備并行下載能)初厚,減少 DNS 查詢時間建議一個網(wǎng)站使用至少 2 個域件蚕,但不多于 4 個域來提供資源

2、針對發(fā)送方面的請求優(yōu)化

localStorage(本地存儲)
靜態(tài)資源打包产禾,開啟 Gzip 壓縮(節(jié)省響應(yīng)流量)
Cookie 隔離(節(jié)省請求流量)
使用 CDN 加速(訪問最近服務(wù)器)

3排作、針對等待服務(wù)器響應(yīng)方面的優(yōu)化

合理設(shè)置 HTTP 緩存:Etag 與 Cache-control
啟用 HTTP/2(多路復(fù)用,并行加載)
優(yōu)化數(shù)據(jù)庫查詢
部署負(fù)載均衡

4亚情、針對下載服務(wù)器響應(yīng)內(nèi)容優(yōu)化

用 CSS3 實(shí)現(xiàn)圖片妄痪,對小圖標(biāo)進(jìn)行 base64(降低請求數(shù))
延遲(defer)加載/異步(async)加載依賴
針對解析 HTML、CSS楞件、JS優(yōu)化
去掉無用的 HTML衫生、CSS 和 JS
優(yōu)化首屏?xí)r間:腳本后位置、圖片壓縮土浸、懶加載

5罪针、針對渲染 HTML、CSS黄伊、JS 和圖片優(yōu)化

最小化重繪(repaint)和回流(reflow):批量修改元素樣式泪酱、避免 table 布局等
針對響應(yīng)用戶事件優(yōu)化
盡量不在前端做復(fù)雜的運(yùn)算

愛前端-專注全棧大前端,前端教育还最,我們更專業(yè)墓阀!

關(guān)注公眾號【愛前端】,免費(fèi)領(lǐng)取精品全棧大前端試聽課程拓轻,課程好不好岂津,聽了就知道!

專注全棧大前端悦即,愛前端整理了一批最新WEB前端教學(xué)視頻吮成,不論是零基礎(chǔ)學(xué)習(xí)還是在職提升,這些資料都會給你帶來幫助辜梳,愛前端幫助所有想要學(xué)好前端的同學(xué)粱甫,學(xué)習(xí)規(guī)劃、學(xué)習(xí)路線作瞄、學(xué)習(xí)資料茶宵、問題解答。全棧大前端技術(shù)交流群:137503198 宗挥!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末乌庶,一起剝皮案震驚了整個濱河市种蝶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瞒大,老刑警劉巖螃征,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異透敌,居然都是意外死亡盯滚,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門酗电,熙熙樓的掌柜王于貴愁眉苦臉地迎上來魄藕,“玉大人,你說我怎么就攤上這事撵术”陈剩” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵嫩与,是天一觀的道長退渗。 經(jīng)常有香客問我,道長蕴纳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任个粱,我火速辦了婚禮古毛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘都许。我一直安慰自己稻薇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布胶征。 她就那樣靜靜地躺著塞椎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪睛低。 梳的紋絲不亂的頭發(fā)上案狠,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機(jī)與錄音钱雷,去河邊找鬼骂铁。 笑死,一個胖子當(dāng)著我的面吹牛罩抗,可吹牛的內(nèi)容都是我干的拉庵。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼套蒂,長吁一口氣:“原來是場噩夢啊……” “哼钞支!你這毒婦竟也來了茫蛹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤烁挟,失蹤者是張志新(化名)和其女友劉穎婴洼,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體信夫,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡窃蹋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了静稻。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片警没。...
    茶點(diǎn)故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖振湾,靈堂內(nèi)的尸體忽然破棺而出杀迹,到底是詐尸還是另有隱情,我是刑警寧澤押搪,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布树酪,位于F島的核電站,受9級特大地震影響大州,放射性物質(zhì)發(fā)生泄漏续语。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一厦画、第九天 我趴在偏房一處隱蔽的房頂上張望疮茄。 院中可真熱鬧,春花似錦根暑、人聲如沸力试。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽畸裳。三九已至,卻和暖如春淳地,著一層夾襖步出監(jiān)牢的瞬間怖糊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工颇象, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蓬抄,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓夯到,卻偏偏與公主長得像嚷缭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容