Apache Deflate运用 笔记

Apache Deflate使用 笔记《High Performance Web Sites 》網頁加速的14條黃金法則1. 減少需要發出HTTP Reque

Apache Deflate使用 笔记


《High Performance Web Sites 》網頁加速的14條黃金法則


1. 減少需要發出HTTP Request的數量

當你設計的網頁中包含的元件數量越多,Client需要對網站伺服器發出的HTTP Request也會增加,同時也會延長網頁處理的時間。

2. 採用Content Delivery Network服務

由Mirror Image、Akamai、SAVVIS等業者所提供的Content Delivery Network(CDN,內容遞送網路服務),可以供應強大的全球網路基礎架構,將網站以最有效的方式傳送給全球使用者,並自動幫網站選擇最佳路徑傳送資料,例如,根據瀏覽者所在地、網路品質及流量狀況,選擇距離用戶端最近的資料中心傳送資料,確保網頁的瀏覽品質及運作速度。

3. 在網頁中加入過期檔頭

你可以利用這個設定讓網頁具備快取機制,縮短頁面載入時間,尤其是針對內容不常變動的網頁。當然這樣的運用,得視你的網頁性質而定,若內容變動頻率高的網頁,則不適用此方式。

4. 善用Gzip壓縮機制

以XML/HTTP做為資料交換的開放格式已經十分普遍,傳輸的檔案體積,較過去單純的EDI方式增加許多,用傳送壓縮時間換取傳輸時間,也是一種提升效率的策略,目前常見的網站伺服器大都支援此項技術。你甚至也可以視情況選擇壓縮HTML、CSS及JavaScript的檔案內容。

5. 將Stylesheet置於網頁頁首

將樣式表(Stylesheet)置於頁首,可以讓CSS設定先行載入,在第一時間套用設定直接呈現網頁。相較於把樣式表放置在頁尾,等所有內容都下載完畢後才套用,樣式表置於頁首的作法,除了頁面呈現速度較快,載入過程中也較不易造成空白頁的出現。

6. 將Script內容置於頁尾

許多實際狀況中,網頁包含的Script程式,本身並不需要在載入後立即執行,所以作者建議將這些程式碼置於頁尾,至少內容可以在傳輸前段時間即備妥,讓使用者有較佳的瀏覽體驗。

7. 避免CSS Expression的撰寫方式

CSS Expression的目的,在於讓自訂樣式的語法可以取代部分的Script內容,雖然這麼做很好用,但因網頁顯示過程中花費較多的邏輯判斷時間,造成網站效能的致命傷。

8. 將JavaScript及CSS內容獨立於網頁內容之外

透過獨立內容的方式,讓HTML本文檔案縮小,而且可以同時被瀏覽器下載,以縮短網頁呈現的時間。

9. 減少DNS查找的次數,縮短取得網頁內容之前的前置時間

雖然網頁可以串連不同網站來源的內容,但是不同網站來源的內容一旦太多,便會延遲頁面載入速度;如果能夠減少網頁內不同網站來源的內容,就可以減少從用戶端發出的DNS Request數量,縮短DNS的查詢時間。

10. JavaScript內容精簡化

網頁中的JavaScript也是下載的一部分,所以當程式碼內容較多時,亦會直接影響網頁下載的速度。檢視一下程式碼,移除不必要的部分。

11. 避免重導向

網頁重新導向是很方便的功能,但對於使用者而言,他必須等待更多的時間直到最終頁面被載入,所以應該盡可能避免使用重導向轉址功能。

12. 移除重複的Script程式碼

重複的Script程式碼需要花費更多的下載時間,這個問題通常發生在程式碼未能妥善模組化的情況下,檢查一下你的Script程式吧。

13. 善用Etag

透過設定Web Server中的Entity Tag方式,能決定網頁中被快取的內容,以加速網頁呈現,但也得視網頁內容特性而定,Etag主要運用在靜態頁面上,而動態顯示內容的網頁則不適用此方式。

14. 讓Ajax程式可做到暫存快

Ajax架構透過非同步的傳輸方式,讓使用者具有較佳的使用體驗,卻不見得是效能的保證。除了可以透過利用Gzip壓縮、避免DNS查找次數、簡化JavaScript內容之外,控制HTTP過期檔頭來快取Ajax網頁,也能發揮明顯效果。


?