資源描述:
《網(wǎng)站加速方法之IIS上啟用Gzip壓縮.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、一.摘要本文總結(jié)了如何為使用IIS托管的網(wǎng)站啟用Gzip壓縮,從而減少網(wǎng)頁網(wǎng)絡(luò)傳輸大小,提高用戶顯示頁面的速度.二.前言.本文的知識點是從互聯(lián)網(wǎng)收集整理,主要來源于中文wiki.使用YSlow檢測網(wǎng)站啟用了哪些優(yōu)化時,Gzip是十分關(guān)鍵的一項.啟動Gip壓縮將立竿見影的減少頁面的網(wǎng)絡(luò)傳輸大小.三.HTTP壓縮概述HTTP壓縮是在Web服務(wù)器和瀏覽器間傳輸壓縮文本內(nèi)容的方法。HTTP壓縮采用通用的壓縮算法如gzip等壓縮HTML、JavaScript或CSS文件。壓縮的最大好處就是降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,從而提
2、高客戶端瀏覽器的訪問速度。當(dāng)然,同時也會增加一點點服務(wù)器的負(fù)擔(dān)。Gzip是比較常見的一種HTTP壓縮算法。四.HTTP壓縮工作原理Web服務(wù)器處理HTTP壓縮的工作原理如下:1.Web服務(wù)器接收到瀏覽器的HTTP請求后,檢查瀏覽器是否支持HTTP壓縮;在用戶瀏覽器發(fā)送請求的HTTP頭中,帶有"Accept-Encoding:gzip,deflate"參數(shù)則表明支持gzip和deflate兩種壓縮算法.2.如果瀏覽器支持HTTP壓縮,Web服務(wù)器檢查請求文件的后綴名;靜態(tài)文件和動態(tài)文件后綴啟動要所都需要在Met
3、aBase.xml中設(shè)置.靜態(tài)文件需要設(shè)置:HcFileExtensionsMetabaseProperty(單擊跳轉(zhuǎn)到MSDN說明)動態(tài)文件需要設(shè)置:HcScriptFileExtensionsMetabaseProperty(單擊跳轉(zhuǎn)到MSDN說明)3.如果請求文件是HTML、CSS等靜態(tài)文件并且文件后綴啟用了壓縮,則Web服務(wù)器到壓縮緩沖目錄中檢查是否已經(jīng)存在請求文件的最新壓縮文件;4.如果請求文件的壓縮文件不存在,Web服務(wù)器向瀏覽器返回未壓縮的請求文件,并在壓縮緩沖目錄中存放請求文件的壓縮文件;5.
4、如果請求文件的最新壓縮文件已經(jīng)存在,則直接返回請求文件的壓縮文件;6.如果請求文件是ASPX等動態(tài)文件并且文件后綴啟用了壓縮,Web服務(wù)器動態(tài)壓縮內(nèi)容并返回瀏覽器,壓縮內(nèi)容不存放到壓縮緩存目錄中。五.在IIS中啟用HTTP壓縮IIS默認(rèn)并不支持HTTP壓縮,需要進(jìn)行簡單的配置1.打開Internet信息服務(wù)(IIS)管理器,右擊"網(wǎng)站"->"屬性",選擇"服務(wù)"。在"HTTP壓縮"框中選中"壓縮應(yīng)用程序文件"和"壓縮靜態(tài)文件",按需要設(shè)置"臨時目錄"和"臨時目錄的最大限制";2.提醒:經(jīng)試驗此步驟在本人機器上
5、沒有作用,可以忽略.在Internet信息服務(wù)(IIS)管理器,右擊"Web服務(wù)擴(kuò)展"->"增加一個新的Web服務(wù)擴(kuò)展...",在"新建Web服務(wù)擴(kuò)展"框中輸入擴(kuò)展名"HTTPCompression",添加"要求的文件"為C:WINDOWSsystem32inetsrvgzip.dll,其中Windows系統(tǒng)目錄根據(jù)您的安裝可能有所不同,選中"設(shè)置擴(kuò)展?fàn)顟B(tài)為允許";3.使用文本編輯器打開C:WindowsSystem32inetsrvMetaBase.xml(建議先備份),找到Location
6、="/LM/W3SVC/Filters/Compression/gzip用于設(shè)置gzip壓縮,找到Location="/LM/W3SVC/Filters/Compression/deflate"用于設(shè)置deflate壓縮.上面兩個節(jié)點緊挨著.并且設(shè)置的屬性相同.如果需要壓縮動態(tài)文件,則將HcDoDynamicCompression設(shè)置為"TRUE",并在HcScriptFileExtensions中增加您要壓縮的動態(tài)文件后綴名,如aspx;如果需要壓縮靜態(tài)文件,則將HcDoStaticCompression和
7、HcDoOnDemandCompression設(shè)置為"TRUE",并在HcFileExtensions中增加您需要壓縮的靜態(tài)文件后綴名,如xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的壓縮率,數(shù)值在0-10,默認(rèn)為0.HcDynamicCompressionLevel屬性說明:HcDynamicCompressionLevelMetabasePropertyHcOnDemandCompLevel屬性說明:HcOnDemandCompLev
8、elMetabaseProperty說明:這兩個屬性值一般推薦設(shè)置為9,具有最佳性價比.但是在我的windowserver2003上,壓縮率無論如何設(shè)置,jQuery和jQueryUI兩個文件(58k/188k)壓縮后的大小一直相同.(20k/45k).下面是我的實例:Xml代碼1.