優(yōu)化網(wǎng)頁速度的7種方法
發(fā)現(xiàn)很多網(wǎng)站都沒有優(yōu)化它的加載速度,有時(shí)打開一個(gè)網(wǎng)頁要等待10來秒才能加載完成,雖然網(wǎng)頁內(nèi)容很不錯(cuò),但是給我的第一印象就是慢,不能忍??!
其實(shí)有很多簡單粗暴,又很有療效的優(yōu)化方法,我覺得有必要給各位產(chǎn)品經(jīng)理分享一下,好讓你們?nèi)ザ酱唛_發(fā)哥哥優(yōu)化,改善一下網(wǎng)頁的加載體驗(yàn)~
首先,我們來看下網(wǎng)頁的加載流程。打開一個(gè)網(wǎng)頁,會先拉取一個(gè)html頁面,然后瀏覽器解析了這個(gè)html頁面后,會根據(jù)頁面的內(nèi)容,去拉取javascript、css和圖片文件,最終根據(jù)這些文件,將頁面渲染出來。
我們可以看到,影響一個(gè)網(wǎng)頁展示速度的主要因素不是網(wǎng)頁本身,而是它依賴的一些其它文件。如果優(yōu)化了這些資源的加載速度,那么網(wǎng)頁展示的速度也就上去了。
有哪些簡單粗暴的方法呢?讓我來一一列舉:
1.優(yōu)化圖片資源的格式和大小
一個(gè)網(wǎng)頁中,圖片資源的大小占比是最多的,而且單個(gè)的文件的大小也很可觀。因此,在保證圖片質(zhì)量不變的情況下,盡可能的使用高壓縮率的圖片格式,圖片格式可以按照這個(gè)優(yōu)先級選擇webp > jpeg > png > bmp。同時(shí)也要根據(jù)圖片展示尺寸來拉取大小最為匹配的圖片資源,不要沒事就把原圖拉下來使用。以前我就遇到過這種情況,一個(gè)196*196大小區(qū)域展示的圖片,它的文件竟然達(dá)到了幾兆,最后才發(fā)現(xiàn)把1960*1960分辨率的原圖拉下來了。
2.開啟網(wǎng)絡(luò)壓縮
大部分瀏覽器在發(fā)出請求時(shí),會帶上這個(gè)標(biāo)記「Accept-Encoding: gzip, deflate」,表示這個(gè)瀏覽器可以接受以gzip壓縮方式傳輸數(shù)據(jù),如果你的網(wǎng)頁服務(wù)器也支持gzip壓縮數(shù)據(jù),那么數(shù)據(jù)以gzip方式傳輸時(shí),會減少70~80%的流量。
3.使用瀏覽器緩存
同一個(gè)站點(diǎn)下面的不同頁面,往往都會復(fù)用一部分資源文件,如果把這些資源文件設(shè)置為可緩存的,那么在刷新或者跳轉(zhuǎn)到另一個(gè)頁面時(shí),都無須再從網(wǎng)絡(luò)拉取相關(guān)資源,這樣就大大加快了網(wǎng)頁的加載速度。
4.減少重定向請求
有的網(wǎng)站對于不同的終端制作了不同的頁面,比如說在手機(jī)上訪問微博,會從weibo.com重定向至weibo.cn,每一次重定向都會導(dǎo)致瀏覽器重新發(fā)起請求,延長加載時(shí)間。對于這種情況,應(yīng)該盡可能使用響應(yīng)式設(shè)計(jì),一個(gè)weibo.com站點(diǎn)覆蓋至所有終端。
5.使用CDN存儲靜態(tài)資源
CDN是一種靜態(tài)內(nèi)容分發(fā)網(wǎng)絡(luò),它在每個(gè)省,甚至每個(gè)城市都部署有自己的服務(wù)器,用于分發(fā)這些靜態(tài)內(nèi)容,那么當(dāng)某個(gè)城市的用戶要拉取某個(gè)資源時(shí),他會首選從本地的CDN服務(wù)器上拉取,這樣可以保證他最快速的獲得該資源。據(jù)磚家統(tǒng)計(jì),網(wǎng)絡(luò)資源中有70%的是靜態(tài)資源。這就意味著,有70%的內(nèi)容產(chǎn)生后是不會變化,那么將它們?nèi)糠旁贑DN上面,可以提升這70%的資源的下載速度。
6.減少DNS查詢次數(shù)
很多人喜歡把不同的圖片掛在不同當(dāng)域名下,比如說圖片A掛在a.pm-teacher.com,圖片B掛在b.pm-teacher.com。當(dāng)一個(gè)網(wǎng)頁同時(shí)使用圖片A和圖片B時(shí),瀏覽器需要查詢兩個(gè)域名,要知道,每次解析域名都是會浪費(fèi)時(shí)間的,所以盡可能的將全部圖片放在一個(gè)域名下。
7.壓縮css和js內(nèi)容
這里說的壓縮和第2點(diǎn)并不重復(fù),上面提到的壓縮是不改變文件內(nèi)容的壓縮。而css和js中有大量的空格和變量命名(如hello="hello word";),如果將這些空格去除,并用簡單的字母來代換變量名(如a="hello word";),那么這些css和js原文件的大小也會縮小,這樣也對加快拉取速度是有幫助的。
不知道你有沒有看出來,上面提到的優(yōu)化方案的核心就3點(diǎn):減少請求數(shù)、減少資源大小、找最快的服務(wù)器。如果你是一個(gè)網(wǎng)站的產(chǎn)品經(jīng)理,快去找你們的開發(fā)確認(rèn)是否有做過類似的優(yōu)化吧。
本文鏈接:http://m.njylbyy.cn/jzjswz/737.html
tag: