一.摘要
本文總結了如何為使用IIS托管的網站啟用Gzip壓縮, 從而減少網頁網絡傳輸大小, 提高用戶顯示頁面的速度.
二.前言.
本文的知識點是從互聯網收集整理, 主要來源於中文wiki.使用YSlow檢測網站啟用了哪些優化時, Gzip是十分關鍵的一項.啟動Gip壓縮將立竿見影的減少頁面的網絡傳輸大小.
三.HTTP壓縮概述
HTTP壓縮是在Web服務器和浏覽器間傳輸壓縮文本內容的方法。HTTP壓縮采用通用的壓縮算法如gzip等壓縮HTML、JavaScript或CSS文件。壓縮的最大好處就是降低了網絡傳輸的數據量,從而提高客戶端浏覽器的訪問速度。當然,同時也會增加一點點服務器的負擔。Gzip是比較常見的一種HTTP壓縮算法。
四.HTTP壓縮工作原理
Web服務器處理HTTP壓縮的工作原理如下:
1.Web服務器接收到浏覽器的HTTP請求後,檢查浏覽器是否支持HTTP壓縮;
在用戶浏覽器發送請求的HTTP頭中, 帶有"Accept-Encoding: gzip, deflate"參數則表明支持gzip和deflate兩種壓縮算法.
2.如果浏覽器支持HTTP壓縮,Web服務器檢查請求文件的後綴名;
靜態文件和動態文件後綴啟動要所都需要在MetaBase.xml中設置.
靜態文件需要設置: HcFileExtensions Metabase Property (單擊跳轉到MSDN說明)
動態文件需要設置: HcScriptFileExtensions Metabase Property (單擊跳轉到MSDN說明)
3.如果請求文件是HTML、CSS等靜態文件並且文件後綴啟用了壓縮,則Web服務器到壓縮緩沖目錄中檢查是否已經存在請求文件的最新壓縮文件;
4.如果請求文件的壓縮文件不存在,Web服務器向浏覽器返回未壓縮的請求文件,並在壓縮緩沖目錄中存放請求文件的壓縮文件;
5.如果請求文件的最新壓縮文件已經存在,則直接返回請求文件的壓縮文件;
6.如果請求文件是ASPX等動態文件並且文件後綴啟用了壓縮,Web服務器動態壓縮內容並返回浏覽器,壓縮內容不存放到壓縮緩存目錄中。
五.在IIS中啟用HTTP壓縮
IIS默認並不支持HTTP壓縮,需要進行簡單的配置
1.打開Internet信息服務(IIS)管理器,右擊"網站"->"屬性",選擇"服務"。在"HTTP壓縮"框中選中"壓縮應用程序文件"和"壓縮靜態文件",按需要設置"臨時目錄"和"臨時目錄的最大限制";