提升高性能網(wǎng)站原則

2022-04-24    分類: 網(wǎng)站建設(shè)

《高性能網(wǎng)站建設(shè)指南》這本書中給出了幾條很重要的網(wǎng)站性能提升的原則,每個(gè)原則獨(dú)立成章,配有示例。這些原則大多數(shù)都非常實(shí)用,適合站點(diǎn)架構(gòu)師、前端工程師。其中對于前端工程師的意義更大一些??偨Y(jié)如下僅供參考,謝謝。

原則1 減少HTTP請求數(shù)

構(gòu)造請求、等待響應(yīng)需要時(shí)間,因此請求數(shù)量越少越好。減少請求的總體思路就是合并資源,減少顯示一個(gè)頁面需要的文件數(shù)。

1. Image Map

通過設(shè)置標(biāo)簽的usemap屬性與使用標(biāo)簽可以在一幅圖片上切分出多個(gè)區(qū)域,指向不同的鏈接。比起使用多幅圖片分別構(gòu)造鏈接減少了請求數(shù)。

2. CSS Sprite(CSS貼圖整合/貼圖拼合/貼圖定位)

通過設(shè)置元素的background-position樣式做到。一般用于界面圖標(biāo)。典型的可以參考TinyMCE編輯器上方的那些小按鈕。多個(gè)小圖實(shí)質(zhì)是從一個(gè)統(tǒng)一的大圖通過不同的偏移量裁剪而來,這樣加載界面上的眾多按鈕實(shí)際上只要請求一次(請求大圖一次),從而減少HTTP請求數(shù)。

3. Inline Image(內(nèi)聯(lián)圖片)

的src中不指定外部圖片文件的URL,而是直接將圖片信息放入。例如src=”data:image/gif;base64,R0lGODlhDAAMAL...”某些特殊情況下有用(例如一個(gè)不大的圖片僅在當(dāng)前頁面用到)。

  原則2 利用多線路CDN

為你的站點(diǎn)提供多種線路(例如國內(nèi)電信、聯(lián)通、移動(dòng))、多個(gè)地理位置(北方、南方、西部)的訪問,使得所有用戶都能夠快速訪問。

  原則3 利用HTTP Cache

給不頻繁更新的資源(例如靜態(tài)圖)加較長的Expires頭信息,這些資源一經(jīng)緩存,未來很長時(shí)間都可以不再重復(fù)傳輸了。

  原則4 使用Gzip壓縮

使用Gzip壓縮HTTP報(bào)文,減小體積,減少傳輸時(shí)間。

  原則5 將樣式表置于頁面前部

先加載樣式表,這樣頁面渲染得以較早開始,給用戶頁面加載較快的感覺。

  原則6 將腳本置于頁面尾部

原因同5,先處理頁面顯示,頁面渲染較早完成,而腳本邏輯稍后執(zhí)行,這樣給用戶頁面加載較快的感覺。

  原則7 避免使用CSS表達(dá)式

過于復(fù)雜的JavaScript腳本邏輯、DOM查找、選擇操作將會(huì)降低頁面處理效率。

  原則8 將JavaScript與CSS作為外聯(lián)資源

這似乎與原則1中的合并思想相悖,但其實(shí)不然:考慮每個(gè)頁面都引入了一個(gè)公共的JavaScript資源(例如jQuery或是ExtJS這樣的JavaScript庫),單就一個(gè)頁面的表現(xiàn)來看,內(nèi)聯(lián)(即將JavaScript嵌入HTML)頁面將比外聯(lián)(使用