高性能網(wǎng)站建設(shè)指南(讀書筆記)
發(fā)布時間:2013-11-23 瀏覽:265打印字號:大中小
1.減少HTTP請求:
a. 用CSS Sprites產(chǎn)生一張圖片,而非分開的圖片,這樣只用請求1次而非多次。一個圖片關(guān)聯(lián)多個url。通過background-position屬性指定CSS偏移量。 且合并圖片比分離圖片的總和要少(減少顏色表,格式信息),降低下載量
b.合并腳本和樣式表(JS/CSS):合并成一個文件,但不要產(chǎn)生大量的組合
2.使用內(nèi)容發(fā)布網(wǎng)絡(luò)(CDN):
a.使web服務(wù)器離用戶更近,可以減少http請求時間:用于發(fā)布靜態(tài)內(nèi)容,圖片,腳本,樣式表和Flash。跟地理位置有關(guān)
3.添加Expires頭:
a.使用一個長久的Expires頭,緩存頁面組件,避免不必要的http請求,減少http請求的大小。在此時間之后的請求被認為是無效的
b.Cache-Control頭:使用max-age指定組件被緩存多久,會覆蓋Expires頭,無時鐘同步問題
c.頭一次無作用第二次開始生效,如果只打開一次,那么就不需要這個
d.如何更新并刷新到用戶:修改其鏈接,全新的請求從服務(wù)器下載
4.壓縮組件:
a.減少HTTP響應(yīng)的大小來減少響應(yīng)時間:Accept - Encoding: gzip
b.如果有代理服務(wù)器,需要Vary: Accept - Encoding,這樣代理服務(wù)器就可以根據(jù)Accept - Encoding返回不同的內(nèi)容(否則會出錯),因為存在支持/不支持gzip的頁面
5.將樣式表放在頂部:
a.兩種方式: 在頂部則先加載樣式表,白屏;在底部則能先顯示內(nèi)容,然后當讀到樣式表的時候會閃爍
6.將腳本放在底部:
a.腳本會阻塞對其后面內(nèi)容的下載及呈現(xiàn)
b.有些情況腳本無法放在后面: document.write
7.減少DNS查找
a.減少域名數(shù)量
8.精簡JS:
a.減少空格等