一般而言,關于網(wǎng)站的加速,大部分人認為是后端開發(fā)者和系統(tǒng)管理的職責。這種觀點不完全正確,因為一個高性能的網(wǎng)站,不僅取決于網(wǎng)站的后端,還依賴網(wǎng)站的前端,也就是說還依賴于美工和前端開發(fā)人員。
事實上,就目前的網(wǎng)絡環(huán)境來看,我們在瀏覽正常的網(wǎng)站時,通??偤馁M時間的10-20%用在了后端,剩下80-90%的時間被前端所消耗。所以,如果 你計劃提升網(wǎng)站的速度,不妨在優(yōu)化后端的同時,讓美工和前端開發(fā)人員考慮以下幾個方面。相信你可能會感嘆,不大動刀戈也可以有效地提升網(wǎng)站的性能。
1. 盡可能減少 HTTP 請求的次數(shù)。例如:用一張圖片代替多張圖片,再用CSS顯示。采用CDN對網(wǎng)站加速。CDN可以在不改動原有網(wǎng)站架構的前提下,很大幅度地提升網(wǎng)站的訪問速度。特別是對于那些擁有全國(或世界各地)用戶的網(wǎng)站,效果會更加明顯。
2. CSS文件放在頁面頭部。瀏覽器在顯示頁面之前,必須要得到CSS。否則無法顯示網(wǎng)頁。所以,將CSS文件放在頁面頭部是明智之舉。伯樂在線的 開發(fā)團隊曾經做過測試,如果一張網(wǎng)頁包括多個JS文件,同時CSS文件放在網(wǎng)頁最后。用戶瀏覽網(wǎng)頁時,非常明顯地感覺到網(wǎng)頁先是空白 (下載JS和其他文件),然后再顯示出來。顯然,這種情況下,用戶體驗是非常差的。與此相反,如果將CSS文件放在頁面頭部,用戶瀏覽網(wǎng)頁時,可以先看到 網(wǎng)頁 (網(wǎng)頁無明顯空白)。
3. JS文件放在頁面尾部。道理和CSS文件放在頁面頭部一樣。
4. 將CSS和JS代碼單獨存放在獨立于網(wǎng)頁的文件中。現(xiàn)在很多的瀏覽器,如Firefox, IE 7,8 等等都會將圖片,CSS,JS等外部的文件緩存在用戶本地,所以,用戶通過這些瀏覽器瀏覽網(wǎng)頁時只傳輸網(wǎng)頁的文本內容,不再次下載圖片,CSS,JS等外 部的文件。這樣一來,訪問的速度自然可以提升不少。另外,將CSS和JS代碼單獨存放在獨立于網(wǎng)頁的文件,也便于管理。
6. 對JS“瘦身”。用第三方的工具(不需要手工)對JS進行壓縮,包括刪除注釋,空格等等,通常情況下可以減小20%左右。例如,未“瘦身”前JS為100KB, “瘦身”后80KB.
除第2項外,其他5個方面都是和美工和前端開發(fā)人員相關。更多未提到的技巧,歡迎補充。