生存在資訊爆炸的網頁程式設計師們應該都會遇到網站效能不佳的問題,然而網站效能不佳有多種原因,舉凡 Web Server 本身的效能問題、系統架構設計不良、後端資料庫負載過重及設計不良,Web Server 將網頁內容傳輸到使用者瀏覽器的網路傳輸問題等等,這些都是需要面對的問題,網路傳輸問題最簡單也最容易解決的就是降低Web Server傳輸到使用者瀏覽器的網頁內容大小,降低網頁內容大小也有多種方法,例如把HTML檔案的換行及不必要的空白字元移除,CSS 盡量設計共用架構不要使用 Inline,壓縮 Javascript 檔案,縮小引用的圖檔等,還有一個大部分 Web Server 如: WebSphere、APACHE、IIS 5.0 以上都支援的 GZIP HTTP 壓縮功能,不過你用壓縮功能一定要犧牲一些 CPU Time ,目前大部分入口網站也都使用此項功能來減少頻寬的使用率,有效的提高網頁瀏覽的速度,我的 E 政府 (www.gov.tw)、Yahoo(tw.yahoo.com) 等大型入口網站也都有使用 GZIP,這也說明了他是個很普遍的技術,如果想提升瀏覽速度的話,不妨盡快評估導入此功能。
壓縮前:
傳回的 html 為未壓縮的內容.
壓縮後:
content-encoding: 的內容己修改為 gzip
相關工具:
IIS 6.0 Resource Kit Tools:
http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en
相關文章:
1.應用 IIS 6.0 的 Gzip 壓縮功能降低網路傳輸量:
http://www.icopy.net.tw/print/forum_posts.asp?TID=459
2. 網頁壓縮檢測: http://gzip.zzbaike.com/
檢測結果:
原本 24.3 kb 的 html 到 client 端只剩 4.5kb, 壓縮率到 81.4%.
3. Enabling HTTP Compression (IIS 6.0)
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/502ef631-3695-4616-b268-cbe7cf1351ce.mspx?mfr=true
設定方式:
啟用動態頁面(asp,dll,exe)內容壓縮的指令:
cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoDynamicCompression true
建議: 動態壓縮比設低一點, 可以兼顧 Server CPU performance 及 網路傳輸的 performance
啟用靜態頁面(html,htm,js,css)內容壓縮的指令:
cscript adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression true


