如何提高網(wǎng)站負(fù)載性能

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

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


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


1. Image Map


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


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


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


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


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


原則2 利用多線路CDN


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


原則3 利用HTTP Cache


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


原則4 使用Gzip壓縮


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


原則5 將樣式表置于頁(yè)面前部


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


原則6 將腳本置于頁(yè)面尾部


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


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


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


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


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