百度運(yùn)維部一面之web頁(yè)面性能優(yōu)化

有幸進(jìn)入百度運(yùn)維部進(jìn)行面試,面的是運(yùn)維部的研發(fā)工程師蚁滋,涉及前端和運(yùn)維宿接。9月29號(hào)下午2點(diǎn)面的,一面通過(guò)后緊接著二面辕录,現(xiàn)在等結(jié)果睦霎,不知道會(huì)不會(huì)有三面...不管怎么樣,還是要總結(jié)一下之前被忽略的“前端性能優(yōu)化問(wèn)題”走诞。

問(wèn)題是:web頁(yè)面性能在前端副女、NA(Native App)端和后端各有哪些優(yōu)化方法?

1.優(yōu)化圖像

圖像在吸引訪客方面起著舉足輕重的作用蚣旱,但是你添加到頁(yè)面上的每一張圖片都需要用戶(hù)從你的服務(wù)器下載到他們的電腦上碑幅,這無(wú)疑增加了頁(yè)面的加載時(shí)間,因此若加載時(shí)間過(guò)長(zhǎng)很可能會(huì)讓用戶(hù)離開(kāi)你的網(wǎng)站塞绿。所以沟涨,優(yōu)化圖像是非常必要的。

優(yōu)化圖像的方法有:

a.使用CSS Sprites(雪碧圖)异吻、CSS3寫(xiě)的圖裹赴、base64位引用小的icon圖;
b.支持WebP圖片格式诀浪;
c.支持針對(duì)不同的網(wǎng)絡(luò)帶寬下載不同的圖片格式棋返,比如WIFI下載高清圖,4G普通圖雷猪,3G低質(zhì)量的圖睛竣;
d.png為無(wú)損格式,適合精準(zhǔn)的按鈕圖標(biāo)求摇;在網(wǎng)頁(yè)中需要瀏覽大圖時(shí)射沟,采用jpg壓縮格式嫉你,能夠大大節(jié)省流量;
e.圖片的懶加載躏惋、預(yù)加載;
f.減小圖片大小嚷辅、減少圖片請(qǐng)求簿姨。

2.減少文件數(shù)量或壓縮文件

a.許多JS、CSS文件可以合并時(shí)最好合并簸搞,減少頁(yè)面上的文件數(shù)量可以減少http請(qǐng)求數(shù)扁位;
b.壓縮JS、CSS文件趁俊。

3.將CSS文件放在頁(yè)面頂部域仇,而JS文件放在底部

a.把 CSS文件放在頁(yè)面頂部可以禁止頁(yè)面逐步渲染,節(jié)省瀏覽器加載和重繪頁(yè)面的資源寺擂;
b.把JS文件放在底部可以避免代碼執(zhí)行前的等待時(shí)間暇务,從而提升頁(yè)面加載速度(在某些情況下,需要將JS在頁(yè)面的頂部加載怔软,如某些第三方跟蹤腳本)垦细。

4.異步加載JS

如何實(shí)現(xiàn)JS異步加載

5.延遲加載和執(zhí)行非必要腳本

網(wǎng)頁(yè)中有很多腳本在頁(yè)面完全加載完前都是不需要執(zhí)行的,所以可以延遲加載和執(zhí)行非必要腳本挡逼。這些腳本可以在onload事件之后執(zhí)行括改,避免對(duì)網(wǎng)頁(yè)上重要內(nèi)容的呈現(xiàn)造成影響。這些腳本可以是你自己網(wǎng)頁(yè)的腳本家坎,更多的是一些第三方腳本嘱能,比如評(píng)論、廣告虱疏、智能推薦惹骂、分享等等,而這些完全可以等主題內(nèi)容加載完后再執(zhí)行订框。

6.減少DNS查詢(xún)

DNS查詢(xún)需要很長(zhǎng)時(shí)間來(lái)返回一個(gè)主機(jī)名的IP地址析苫,而瀏覽器在查詢(xún)結(jié)束前不會(huì)進(jìn)行任何操作。所以應(yīng)該減少外部JS穿扳、CSS衩侥、圖片等資源的引用,不同域名的使用越少越好矛物。

7.客戶(hù)端預(yù)加載(利用瀏覽器緩存)

瀏覽器緩存是允許訪客的瀏覽器緩存你網(wǎng)站頁(yè)面副本的一個(gè)功能茫死。這可以使訪客再次訪問(wèn)時(shí),直接從緩存中讀取內(nèi)容而不必重新加載履羞,這就節(jié)省了向服務(wù)器發(fā)送HTTP請(qǐng)求的時(shí)間峦萎。此外優(yōu)化你的網(wǎng)站的緩存系統(tǒng)往往也會(huì)降低你的網(wǎng)站的帶寬和托管費(fèi)用屡久。

8.使用CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))

CDN的全稱(chēng)是Content Dilivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)爱榔。它可以使用戶(hù)就近取得所需內(nèi)容被环,解決網(wǎng)絡(luò)擁塞的情況(當(dāng)時(shí)有被問(wèn)到“CDN是如何實(shí)現(xiàn)加速的”,這是答案详幽!)筛欢。就好比在某貓超市上買(mǎi)東西,他會(huì)根據(jù)你的收貨地址來(lái)選擇發(fā)貨的倉(cāng)庫(kù)唇聘。CDN網(wǎng)絡(luò)可以將源站的內(nèi)容緩存到分布全球的CDN節(jié)點(diǎn)版姑,根據(jù)用戶(hù)訪問(wèn)的IP,就近連接CDN迟郎,提高網(wǎng)站響應(yīng)速度剥险。

9.啟用GZIP壓縮

在服務(wù)器上壓縮網(wǎng)站的頁(yè)面是提升網(wǎng)站訪問(wèn)速度非常有效的一種方法。使用GZIP壓縮可以做到這一點(diǎn)宪肖。GZIP是一個(gè)減小發(fā)送給訪客的HTML表制、JS、CSS文件體積的工具控乾。壓縮的文件可以減少HTTP響應(yīng)時(shí)間夫凸。據(jù)Yahoo報(bào)道,該方法可以減少70%的下載時(shí)間阱持。而目前90%的通過(guò)瀏覽器的流量都支持GZIP壓縮夭拌,因此,這是一個(gè)提升網(wǎng)站性能有效的選項(xiàng)衷咽。

10.靜態(tài)文件放在單獨(dú)域名的服務(wù)器上

a.避免請(qǐng)求靜態(tài)資源文件時(shí)攜帶cookie信息鸽扁,增加請(qǐng)求損耗;
b.突破瀏覽器并發(fā)限制镶骗,像地圖之類(lèi)的需要大量并發(fā)下載圖片的站點(diǎn)桶现,這一點(diǎn)非常重要。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鼎姊,一起剝皮案震驚了整個(gè)濱河市骡和,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌相寇,老刑警劉巖慰于,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異唤衫,居然都是意外死亡婆赠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)佳励,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)休里,“玉大人蛆挫,你說(shuō)我怎么就攤上這事∶钍颍” “怎么了悴侵?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)拭嫁。 經(jīng)常有香客問(wèn)我畜挨,道長(zhǎng),這世上最難降的妖魔是什么噩凹? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮毡咏,結(jié)果婚禮上驮宴,老公的妹妹穿的比我還像新娘。我一直安慰自己呕缭,他們只是感情好堵泽,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著恢总,像睡著了一般迎罗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上片仿,一...
    開(kāi)封第一講書(shū)人閱讀 52,328評(píng)論 1 310
  • 那天纹安,我揣著相機(jī)與錄音,去河邊找鬼砂豌。 笑死厢岂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的阳距。 我是一名探鬼主播塔粒,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼筐摘!你這毒婦竟也來(lái)了卒茬?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤咖熟,失蹤者是張志新(化名)和其女友劉穎圃酵,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體馍管,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辜昵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了咽斧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堪置。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡躬存,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出舀锨,到底是詐尸還是另有隱情岭洲,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布坎匿,位于F島的核電站盾剩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏替蔬。R本人自食惡果不足惜告私,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望承桥。 院中可真熱鬧驻粟,春花似錦、人聲如沸凶异。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)剩彬。三九已至酷麦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間喉恋,已是汗流浹背沃饶。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留轻黑,地道東北人绍坝。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像苔悦,于是被迫代替她去往敵國(guó)和親轩褐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

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

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案玖详? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,759評(píng)論 1 92
  • Yahoo!的Exceptional Performance團(tuán)隊(duì)為改善Web性能帶來(lái)最佳實(shí)踐把介。他們?yōu)榇诉M(jìn)行了一系列...
    拉風(fēng)的老衲閱讀 1,852評(píng)論 0 1
  • 網(wǎng)站優(yōu)化離不開(kāi)前后端的互相協(xié)作,但是對(duì)于前端工程師來(lái)說(shuō)蟋座,在保證后端技術(shù)方案不變時(shí)拗踢,能不能只利用前端技術(shù)來(lái)優(yōu)化網(wǎng)站呢...
    留七七閱讀 6,332評(píng)論 0 31
  • 性能優(yōu)化方向分類(lèi) 請(qǐng)求數(shù)量: 合并腳本和樣式表, CSS Sprites向臀, 拆分初始化負(fù)載巢墅, 劃分主域(使用“查找...
    Www劉閱讀 1,773評(píng)論 3 8
  • 你的前男友因?yàn)殚L(zhǎng)太難看被你甩掉了君纫,憤憤不平地想要找當(dāng)?shù)氐纳耢`評(píng)評(píng)理驯遇,在十字路口等了三個(gè)通宵之后終于給他等到百鬼夜行...
    洞庭府君閱讀 375評(píng)論 2 3