【面試題】性能優(yōu)化相關(guān)

【前端性能優(yōu)化方式總結(jié)】

一昌犹、減少HTTP請求

1.合并文件

將css、js分別合并到一個文件中把敢。

減少文件請求燥爷。

2.CSS Sprites(雪碧圖)

減少圖片請求蜈亩。

3.圖片地圖(不推薦)

把多張圖片整合到一張圖片中。雖然文件的總體大小不會改變前翎,但是可以減少HTTP請求次數(shù)稚配。圖片地圖只有在圖片的所有組成部分在頁面中是緊挨在一起的時候才能使用,如導(dǎo)航欄鱼填。確定圖片的坐標(biāo)和可能會比較繁瑣且容易出錯药有,同時使用圖片地圖導(dǎo)航也不具有可讀性,因此不推薦這種方法苹丸。

4.內(nèi)聯(lián)圖像(暫時沒有得到主流瀏覽器的支持)

使用data:URL 模式可以在web頁面中包含圖片但無需任何額外的HTTP請求。


二苇经、減少DNS查找次數(shù)(DNS緩存)

現(xiàn)代的瀏覽器都有自己的緩存機制赘理。這里不需要我們手動做什么。


三扇单、緩存時間

緩存時間長優(yōu)點:減少DNS的重復(fù)查找商模,節(jié)省時間?

緩存時間短優(yōu)點:能夠及時的檢測網(wǎng)站服務(wù)器IP地址的變化,保證訪問的正確性

設(shè)置適當(dāng)?shù)木彺鏁r間,減少DNS的查找施流,同時保證訪問的正確性响疚。


四、使用多域名瞪醋,實現(xiàn)網(wǎng)站資源(html忿晕、圖片、腳本等)的并行下載

將網(wǎng)站資源放到不同的域名下银受,可以實現(xiàn)資源文件的并行下載践盼。

【注意】

多域名可以實現(xiàn)并行下載,但會增加DNS的查找次數(shù)宾巍。

一般原則:

把這些頁面中的內(nèi)容分割成至少兩部分但不超過四部分咕幻。


五、使用內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN–Content delivery network)

1.基本認(rèn)知

內(nèi)容分發(fā)網(wǎng)絡(luò)是由一系列分散到各個不同地理位置上的Web服務(wù)器組成的顶霞,它提高了網(wǎng)站內(nèi)容的傳輸速度肄程。

用于向用戶傳輸內(nèi)容的服務(wù)器主要是根據(jù)和用戶在網(wǎng)絡(luò)上的靠近程度來指定的。

2.原理

使用CDN选浑,就相當(dāng)于在離你最近的地方绷耍,放置一臺性能好、連接順暢的副本服務(wù)器鲜侥,讓你能夠以最近的距離褂始,最快的速度獲取內(nèi)容。

用戶請求路由的第一跳就到達(dá)了CDN服務(wù)器描函,當(dāng)CDN中存在瀏覽器請求的資源時崎苗,從CDN直接返回給瀏覽器,最短路徑返回響應(yīng)舀寓,加快用戶訪問速度胆数,減少數(shù)據(jù)中心負(fù)載壓力。

【缺點】

CDN服務(wù)成本非常高互墓,需要建立多臺服務(wù)器必尼。

【適用】

CDN緩存的一般是靜態(tài)資源,如圖片篡撵、文件判莉、CSS、script腳本育谬、靜態(tài)網(wǎng)頁等券盅,這些文件訪問頻度很高,將其緩存在CDN可極大改善網(wǎng)頁的打開速度膛檀。


六锰镀、添加Expire/Cache-Control頭娘侍,緩存http響應(yīng)內(nèi)容

(Expire屬于HTTP/1.0,Cache-Control屬于HTTP/1.1泳炉。這兩者起到的作用是一致的憾筏。)

緩存請求的內(nèi)容,減少后續(xù)http請求花鹅。

Expires:存儲的值代表氧腰,資源在本地的過期時間。

Cache-Control:存儲的值代表翠胰,距離緩存過期還有多少秒容贝。


七、啟用Gzip壓縮

通過減小http響應(yīng)的大小之景,節(jié)省http響應(yīng)時間斤富。Gzip可以壓縮所有可能的文件類型。

【啟用方式】

請求頭中添加:Accept-Encoding: gzip?

響應(yīng)頭會返回:Content-Encoding: gzip锻狗。并以客戶端標(biāo)出的壓縮方式满力,對響應(yīng)內(nèi)容進(jìn)行壓縮。


八轻纪、css放在<head>中油额,script放在最下面(</body>之前)

css放在<head>中,能夠提高網(wǎng)頁渲染性能刻帚,避免網(wǎng)頁出現(xiàn)白屏或者是沒有樣式的內(nèi)容潦嘶。


九、減少cookie傳輸


十崇众、把JavaScript和CSS都放到外部文件中

使用外部文件可以提高頁面速度掂僵,因為JavaScript和CSS文件都能在瀏覽器中產(chǎn)生緩存。

內(nèi)置在HTML文檔中的JavaScript 和CSS則會在每次請求中隨HTML文檔重新下載顷歌。


十一 锰蓬、壓縮 JavaScript 和 CSS

去除代碼不必要的字符減少文件大小從而節(jié)省下載時間。?

方法:?

(1)去除不必要的空白符(空格眯漩、換行芹扭、tab縮進(jìn))、格式符赦抖、注釋符?

(2)簡寫方法名舱卡、參數(shù)名來壓縮js腳本?


十二、LazyLoad Images

在頁面剛加載的時候只加載第一屏圖片摹芙,當(dāng)用戶繼續(xù)往后滾屏的時候才加載后續(xù)的圖片灼狰。


十三、引入textarea/script元素做延遲解析異步渲染



【關(guān)于圖片可以做的優(yōu)化總結(jié)】

1.切圖后進(jìn)行圖片壓縮

2.懶加載浮禾。初始渲染只加載首屏圖片交胚,用戶繼續(xù)滾動再加載后續(xù)圖片。

3.CSS?Sprites(雪碧圖)

4.base64編碼圖片盈电,將圖片嵌入html或css文件中蝴簇,不再單獨請求

5.svg代替圖片

6.html5 canvas畫圖

7.Responsive設(shè)計(響應(yīng)式圖片)

【粗略理解】

避免項目中為了適應(yīng)不同大小的設(shè)備,存儲多張相同的圖片匆帚。

使用一張圖熬词,通過@media媒體查詢,為圖片設(shè)置不同的大小吸重。


#待續(xù)......

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末互拾,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子嚎幸,更是在濱河造成了極大的恐慌颜矿,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嫉晶,死亡現(xiàn)場離奇詭異骑疆,居然都是意外死亡,警方通過查閱死者的電腦和手機替废,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門箍铭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人椎镣,你說我怎么就攤上這事诈火。” “怎么了状答?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵冷守,是天一觀的道長。 經(jīng)常有香客問我剪况,道長教沾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任译断,我火速辦了婚禮授翻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘孙咪。我一直安慰自己堪唐,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布翎蹈。 她就那樣靜靜地躺著淮菠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荤堪。 梳的紋絲不亂的頭發(fā)上合陵,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天枢赔,我揣著相機與錄音,去河邊找鬼拥知。 笑死踏拜,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的低剔。 我是一名探鬼主播速梗,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼襟齿!你這毒婦竟也來了姻锁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钓试,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡均抽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了深寥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片则酝。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖椭微,靈堂內(nèi)的尸體忽然破棺而出迟杂,到底是詐尸還是另有隱情侧漓,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布泽谨,位于F島的核電站吧雹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏涂身。R本人自食惡果不足惜雄卷,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蛤售。 院中可真熱鬧丁鹉,春花似錦、人聲如沸悍抑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搜骡。三九已至拂盯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間记靡,已是汗流浹背谈竿。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工团驱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人空凸。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓嚎花,卻偏偏與公主長得像,于是被迫代替她去往敵國和親呀洲。 傳聞我的和親對象是個殘疾皇子紊选,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359

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

  • 前端開發(fā)者丨h(huán)ttp請求 https:www.rokub.com 前言見解有限, 如有描述不當(dāng)之處道逗, 請幫忙指出兵罢,...
    麋鹿_720a閱讀 10,934評論 11 31
  • 1、盡量減少HTTP請求次數(shù) 終端用戶響應(yīng)的時間中滓窍,有80%用于下載各項內(nèi)容卖词,這部分時間包括下載頁面中的圖像、樣式...
    兔子不打地鼠打代碼閱讀 536評論 0 1
  • 人生就像一棵樹吏夯,有的是楊樹此蜈,剛正不愕,有的人是果樹噪生,奉獻(xiàn)了自己的一生裆赵。而有的樹,長出來極為珍貴杠园。讓人喜愛顾瞪。 ...
    心以別閱讀 164評論 0 0
  • 第一天,西寧抛蚁。建立在山坡之中的城市陈醒,路面窄而起伏。小白帽和多彩的頭巾瞧甩,在熙攘的街頭隨處可見钉跷。她們也有涂抹白色的粉底...
    拘熙閱讀 314評論 1 2
  • 滿地黃葉 開啟了又一個輪回 緣來緣去 來生 我還愿做你的葉 我開始了無邊的思念,再來夾山古寺肚逸,不為饞了師父的茶爷辙,也...
    四四的空白閱讀 331評論 0 0