每個(gè)人都是產(chǎn)品經(jīng)理【起點(diǎn)學(xué)院】,BAT實(shí)戰(zhàn)派產(chǎn)品總監(jiān)孫孫系統(tǒng)帶你學(xué)習(xí)產(chǎn)品,學(xué)習(xí)運(yùn)營。(莎士比亞)模板。

周末連續(xù)兩天給大家講了面向?qū)ο缶幊痰闹饕匦浴阜庋b」和「繼承」,如果你期待今天繼續(xù)講「多態(tài)」這個(gè)特性,可能你要失望了,今天并沒有「多態(tài)」,而是教你如何優(yōu)化網(wǎng)頁加載速度,我就是這么不按規(guī)矩出牌,哈哈。

周末在家宅著,刷了不少的網(wǎng)頁,發(fā)現(xiàn)很多網(wǎng)站都沒有優(yōu)化它的加載速度,有時(shí)打開一個(gè)網(wǎng)頁要等待10來秒才能加載完成,雖然網(wǎng)頁內(nèi)容很不錯(cuò),但是給我的第一印象就是慢,不能忍?。?/p>

其實(shí)有很多簡(jiǎn)單粗暴,又很有療效的優(yōu)化方法,我覺得有必要給各位產(chǎn)品經(jīng)理分享一下,好讓你們?nèi)ザ酱唛_發(fā)哥哥優(yōu)化,改善一下網(wǎng)頁的加載體驗(yàn)~

首先,我們來看下網(wǎng)頁的加載流程。打開一個(gè)網(wǎng)頁,會(huì)先拉取一個(gè)html頁面,然后瀏覽器解析了這個(gè)html頁面后,會(huì)根據(jù)頁面的內(nèi)容,去拉取javascript、css和圖片文件,最終根據(jù)這些文件,將頁面渲染出來。

我們可以看到,影響一個(gè)網(wǎng)頁展示速度的主要因素不是網(wǎng)頁本身,而是它依賴的一些其它文件。如果優(yōu)化了這些資源的加載速度,那么網(wǎng)頁展示的速度也就上去了。

有哪些簡(jiǎn)單粗暴的方法呢?讓我來一一列舉:

1.優(yōu)化圖片資源的格式和大小

一個(gè)網(wǎng)頁中,圖片資源的大小占比是最多的,而且單個(gè)的文件的大小也很可觀。因此,在保證圖片質(zhì)量不變的情況下,盡可能的使用高壓縮率的圖片格式,圖片格式可以按照這個(gè)優(yōu)先級(jí)選擇webp > jpeg > png > bmp。同時(shí)也要根據(jù)圖片展示尺寸來拉取大小最為匹配的圖片資源,不要沒事就把原圖拉下來使用。以前我就遇到過這種情況,一個(gè)196*196大小區(qū)域展示的圖片,它的文件竟然達(dá)到了幾兆,最后才發(fā)現(xiàn)把1960*1960分辨率的原圖拉下來了。

2.開啟網(wǎng)絡(luò)壓縮

大部分瀏覽器在發(fā)出請(qǐng)求時(shí),會(huì)帶上這個(gè)標(biāo)記「Accept-Encoding: gzip, deflate」,表示這個(gè)瀏覽器可以接受以gzip壓縮方式傳輸數(shù)據(jù),如果你的網(wǎng)頁服務(wù)器也支持gzip壓縮數(shù)據(jù),那么數(shù)據(jù)以gzip方式傳輸時(shí),會(huì)減少70~80%的流量。

3.使用瀏覽器緩存

同一個(gè)站點(diǎn)下面的不同頁面,往往都會(huì)復(fù)用一部分資源文件,如果把這些資源文件設(shè)置為可緩存的,那么在刷新或者跳轉(zhuǎn)到另一個(gè)頁面時(shí),都無須再從網(wǎng)絡(luò)拉取相關(guān)資源,這樣就大大加快了網(wǎng)頁的加載速度。

4.減少重定向請(qǐng)求

有的網(wǎng)站對(duì)于不同的終端制作了不同的頁面,比如說在手機(jī)上訪問微博,會(huì)從weibo.com重定向至weibo.cn,每一次重定向都會(huì)導(dǎo)致瀏覽器重新發(fā)起請(qǐng)求,延長(zhǎng)加載時(shí)間。對(duì)于這種情況,應(yīng)該盡可能使用響應(yīng)式設(shè)計(jì),一個(gè)weibo.com站點(diǎn)覆蓋至所有終端。

5.使用CDN存儲(chǔ)靜態(tài)資源

CDN是一種靜態(tài)內(nèi)容分發(fā)網(wǎng)絡(luò),它在每個(gè)省,甚至每個(gè)城市都部署有自己的服務(wù)器,用于分發(fā)這些靜態(tài)內(nèi)容,那么當(dāng)某個(gè)城市的用戶要拉取某個(gè)資源時(shí),他會(huì)首選從本地的CDN服務(wù)器上拉取,這樣可以保證他最快速的獲得該資源。據(jù)磚家統(tǒng)計(jì),網(wǎng)絡(luò)資源中有70%的是靜態(tài)資源。這就意味著,有70%的內(nèi)容產(chǎn)生后是不會(huì)變化,那么將它們?nèi)糠旁贑DN上面,可以提升這70%的資源的下載速度。

6.減少DNS查詢次數(shù)

很多人喜歡把不同的圖片掛在不同當(dāng)域名下,比如說圖片A掛在a.,圖片B掛在b.。當(dāng)一個(gè)網(wǎng)頁同時(shí)使用圖片A和圖片B時(shí),瀏覽器需要查詢兩個(gè)域名,要知道,每次解析域名都是會(huì)浪費(fèi)時(shí)間的,所以盡可能的將全部圖片放在一個(gè)域名下。

7.壓縮css和js內(nèi)容

這里說的壓縮和第2點(diǎn)并不重復(fù),上面提到的壓縮是不改變文件內(nèi)容的壓縮。而css和js中有大量的空格和變量命名(如hello="hello word";),如果將這些空格去除,并用簡(jiǎn)單的字母來代換變量名(如a="hello word";),那么這些css和js原文件的大小也會(huì)縮小,這樣也對(duì)加快拉取速度是有幫助的。

不知道你有沒有看出來,上面提到的優(yōu)化方案的核心就3點(diǎn):減少請(qǐng)求數(shù)、減少資源大小、找最快的服務(wù)器。如果你是一個(gè)網(wǎng)站的產(chǎn)品經(jīng)理,快去找你們的開發(fā)確認(rèn)是否有做過類似的優(yōu)化吧。

#專欄作家#

給產(chǎn)品經(jīng)理講技術(shù),微信公眾號(hào)(pm_teacher),人人都是產(chǎn)品經(jīng)理專欄作家。資深程序猿,專注客戶端開發(fā)若干年,對(duì)前端、后臺(tái)技術(shù)略懂,熱衷于對(duì)新的科技領(lǐng)域的探索。

1.《關(guān)于網(wǎng)頁一直未響應(yīng)怎么辦,你需要知道這些優(yōu)化網(wǎng)頁速度的7種方法》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請(qǐng)聯(lián)系頁腳下方聯(lián)系方式。

2.《關(guān)于網(wǎng)頁一直未響應(yīng)怎么辦,你需要知道這些優(yōu)化網(wǎng)頁速度的7種方法》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。

3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來源地址,http://f99ss.com/gl/2966757.html