從前端角度來看高性能網(wǎng)站建設的幾個原則

2017-03-22    分類: 網(wǎng)站建設

我對于Web網(wǎng)站開發(fā)開有很多年的實踐經(jīng)驗,提供網(wǎng)站相應速度一直是網(wǎng)站開發(fā)人員孜孜不倦的追求,無論后端程序的優(yōu)化,數(shù)據(jù)庫的優(yōu)化,還是前端的優(yōu)化,最終目的只有一個,讓網(wǎng)站更快的打開,給用戶提供更好的瀏覽體驗,這里只介紹從前端人員的角度來,在網(wǎng)站建設中要注意的一些原則。

1、減少網(wǎng)站的HTTP請求數(shù)

構造請求、等待響應需要時間,因此請求數(shù)量越少越好,減少請求的總體思路就是合并資源,減少顯示一個頁面需要的文件數(shù),常規(guī)的方法有:

1.1 Image Map

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

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

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

2、 使用Gzip壓縮
使用Gzip壓縮HTTP報文,減小體積,減少傳輸時間。
3、 將css樣式表文件置于頁面前部

先加載樣式表,這樣頁面渲染得以較早開始,給用戶頁面加載較快的感覺,所以css最好放在之間。

4、將Js腳本放在頁面底部

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

5、避免使用CSS表達式

過于復雜的JavaScript腳本邏輯、DOM查找、選擇操作將會降低頁面處理效率。
6、將JavaScript與CSS作為外聯(lián)資源
這似乎與原則1中的合并思想相悖,但其實不然:考慮每個頁面都引入了一個公共的JavaScript資源(例如jQuery或是ExtJS這樣的JavaScript庫),單就一個頁面的表現(xiàn)來看,內聯(lián)(即將JavaScript嵌入HTML)頁面將比外聯(lián)(使用