Win2003+IIS 6.0下啟用壓縮技術(shù)精簡(jiǎn)網(wǎng)站體積的方法
更新時(shí)間:2009年09月12日 00:38:25 作者:
本文總結(jié)了如何在IIS中啟用Gzip壓縮. 在半年前的項(xiàng)目中我為網(wǎng)站啟用了Gzip, 今天整理此文主要為了整理自己的知識(shí)以便以后忘記時(shí)復(fù)習(xí). 另外經(jīng)查看ChinaCache公司提供的CDN也都啟用了Gzip壓縮.
一.HTTP壓縮概述
HTTP壓縮是在Web服務(wù)器和瀏覽器間傳輸壓縮文本內(nèi)容的方法。HTTP壓縮采用通用的壓縮算法如gzip等壓縮HTML、JavaScript或 CSS文件。壓縮的最大好處就是降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,從而提高客戶(hù)端瀏覽器的訪(fǎng)問(wèn)速度。當(dāng)然,同時(shí)也會(huì)增加一點(diǎn)點(diǎn)服務(wù)器的負(fù)擔(dān)。Gzip是比較常見(jiàn)的 一種HTTP壓縮算法。
二.HTTP壓縮工作原理
Web服務(wù)器處理HTTP壓縮的工作原理如下:
1.Web服務(wù)器接收到瀏覽器的HTTP請(qǐng)求后,檢查瀏覽器是否支持HTTP壓縮;
在用戶(hù)瀏覽器發(fā)送請(qǐng)求的HTTP頭中, 帶有"Accept-Encoding: gzip, deflate"參數(shù)則表明支持gzip和deflate兩種壓縮算法.
2.如果瀏覽器支持HTTP壓縮,Web服務(wù)器檢查請(qǐng)求文件的后綴名;
靜態(tài)文件和動(dòng)態(tài)文件后綴啟動(dòng)要所都需要在MetaBase.xml中設(shè)置.
靜態(tài)文件需要設(shè)置: HcFileExtensions Metabase Property (單擊跳轉(zhuǎn)到MSDN說(shuō)明)
動(dòng)態(tài)文件需要設(shè)置: HcScriptFileExtensions Metabase Property (單擊跳轉(zhuǎn)到MSDN說(shuō)明)
3.如果請(qǐng)求文件是HTML、CSS等靜態(tài)文件并且文件后綴啟用了壓縮,則Web服務(wù)器到壓縮緩沖目錄中檢查是否已經(jīng)存在請(qǐng)求文件的最新壓縮文件;
4.如果請(qǐng)求文件的壓縮文件不存在,Web服務(wù)器向?yàn)g覽器返回未壓縮的請(qǐng)求文件,并在壓縮緩沖目錄中存放請(qǐng)求文件的壓縮文件;
5.如果請(qǐng)求文件的最新壓縮文件已經(jīng)存在,則直接返回請(qǐng)求文件的壓縮文件;
6.如果請(qǐng)求文件是ASPX等動(dòng)態(tài)文件并且文件后綴啟用了壓縮,Web服務(wù)器動(dòng)態(tài)壓縮內(nèi)容并返回瀏覽器,壓縮內(nèi)容不存放到壓縮緩存目錄中。
三. 在IIS中啟用HTTP壓縮
IIS默認(rèn)并不支持HTTP壓縮,需要進(jìn)行簡(jiǎn)單的配置
1.打開(kāi)Internet信息服務(wù)(IIS)管理器,右擊"網(wǎng)站"->"屬性",選擇"服務(wù)"。在"HTTP壓縮"框中選中"壓縮應(yīng)用程序文件"和"壓縮靜態(tài)文件",按需要設(shè)置"臨時(shí)目錄"和"臨時(shí)目錄的最大限制";
2.提醒: 經(jīng)試驗(yàn)此步驟在本人機(jī)器上沒(méi)有作用, 可以忽略.
在Internet信息服務(wù)(IIS)管理器,右擊"Web服務(wù)擴(kuò)展"->"增加一個(gè)新的Web服務(wù)擴(kuò)展...",在"新建Web服務(wù)擴(kuò)展"框中輸 入擴(kuò)展名"HTTP Compression",添加"要求的文件"為C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系統(tǒng)目 錄根據(jù)您的安裝可能有所不同,選中"設(shè)置擴(kuò)展?fàn)顟B(tài)為允許";

3.使用文本編輯器打開(kāi)C:\Windows\System32\inetsrv\MetaBase.xml(建議先備份),
找到Location ="/LM/W3SVC/Filters/Compression/gzip用于設(shè)置gzip壓縮,
找到Location ="/LM/W3SVC/Filters/Compression/deflate"用于設(shè)置deflate壓縮.
上面兩個(gè)節(jié)點(diǎn)緊挨著.并且設(shè)置的屬性相同.
如果需要壓縮動(dòng)態(tài)文件,則將HcDoDynamicCompression設(shè)置為"TRUE",并在HcScriptFileExtensions中增加 您要壓縮的動(dòng)態(tài)文件后綴名,如aspx;如果需要壓縮靜態(tài)文件,則將HcDoStaticCompression和 HcDoOnDemandCompression設(shè)置為"TRUE",并在HcFileExtensions中增加您需要壓縮的靜態(tài)文件后綴名,如 xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的壓縮率,數(shù)值在0-10, 默認(rèn)為0.
四.要點(diǎn)總結(jié)
1. 在修改MetaBase.xml文件時(shí), 要停止"IIS Admin Service"服務(wù). 否則無(wú)法保存.
2.靜態(tài)壓縮和動(dòng)態(tài)壓縮率最好設(shè)置為9.
3.上文的步驟2, 即使不添加Web服務(wù)擴(kuò)展效果也是相同的.
4.壓縮率設(shè)置對(duì)js文件不起作用, 壓縮后大小總是相同的.
5.圖片文件即使啟用了gzip壓縮大小也沒(méi)有變化.
五. 總結(jié)
本文總結(jié)了如何在IIS中啟用Gzip壓縮. 在半年前的項(xiàng)目中我為網(wǎng)站啟用了Gzip, 今天整理此文主要為了整理自己的知識(shí)以便以后忘記時(shí)復(fù)習(xí). 另外經(jīng)查看ChinaCache公司提供的CDN也都啟用了Gzip壓縮.
HTTP壓縮是在Web服務(wù)器和瀏覽器間傳輸壓縮文本內(nèi)容的方法。HTTP壓縮采用通用的壓縮算法如gzip等壓縮HTML、JavaScript或 CSS文件。壓縮的最大好處就是降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,從而提高客戶(hù)端瀏覽器的訪(fǎng)問(wèn)速度。當(dāng)然,同時(shí)也會(huì)增加一點(diǎn)點(diǎn)服務(wù)器的負(fù)擔(dān)。Gzip是比較常見(jiàn)的 一種HTTP壓縮算法。
二.HTTP壓縮工作原理
Web服務(wù)器處理HTTP壓縮的工作原理如下:
1.Web服務(wù)器接收到瀏覽器的HTTP請(qǐng)求后,檢查瀏覽器是否支持HTTP壓縮;
在用戶(hù)瀏覽器發(fā)送請(qǐng)求的HTTP頭中, 帶有"Accept-Encoding: gzip, deflate"參數(shù)則表明支持gzip和deflate兩種壓縮算法.
2.如果瀏覽器支持HTTP壓縮,Web服務(wù)器檢查請(qǐng)求文件的后綴名;
靜態(tài)文件和動(dòng)態(tài)文件后綴啟動(dòng)要所都需要在MetaBase.xml中設(shè)置.
靜態(tài)文件需要設(shè)置: HcFileExtensions Metabase Property (單擊跳轉(zhuǎn)到MSDN說(shuō)明)
動(dòng)態(tài)文件需要設(shè)置: HcScriptFileExtensions Metabase Property (單擊跳轉(zhuǎn)到MSDN說(shuō)明)
3.如果請(qǐng)求文件是HTML、CSS等靜態(tài)文件并且文件后綴啟用了壓縮,則Web服務(wù)器到壓縮緩沖目錄中檢查是否已經(jīng)存在請(qǐng)求文件的最新壓縮文件;
4.如果請(qǐng)求文件的壓縮文件不存在,Web服務(wù)器向?yàn)g覽器返回未壓縮的請(qǐng)求文件,并在壓縮緩沖目錄中存放請(qǐng)求文件的壓縮文件;
5.如果請(qǐng)求文件的最新壓縮文件已經(jīng)存在,則直接返回請(qǐng)求文件的壓縮文件;
6.如果請(qǐng)求文件是ASPX等動(dòng)態(tài)文件并且文件后綴啟用了壓縮,Web服務(wù)器動(dòng)態(tài)壓縮內(nèi)容并返回瀏覽器,壓縮內(nèi)容不存放到壓縮緩存目錄中。
三. 在IIS中啟用HTTP壓縮
IIS默認(rèn)并不支持HTTP壓縮,需要進(jìn)行簡(jiǎn)單的配置
1.打開(kāi)Internet信息服務(wù)(IIS)管理器,右擊"網(wǎng)站"->"屬性",選擇"服務(wù)"。在"HTTP壓縮"框中選中"壓縮應(yīng)用程序文件"和"壓縮靜態(tài)文件",按需要設(shè)置"臨時(shí)目錄"和"臨時(shí)目錄的最大限制";
2.提醒: 經(jīng)試驗(yàn)此步驟在本人機(jī)器上沒(méi)有作用, 可以忽略.
在Internet信息服務(wù)(IIS)管理器,右擊"Web服務(wù)擴(kuò)展"->"增加一個(gè)新的Web服務(wù)擴(kuò)展...",在"新建Web服務(wù)擴(kuò)展"框中輸 入擴(kuò)展名"HTTP Compression",添加"要求的文件"為C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系統(tǒng)目 錄根據(jù)您的安裝可能有所不同,選中"設(shè)置擴(kuò)展?fàn)顟B(tài)為允許";

3.使用文本編輯器打開(kāi)C:\Windows\System32\inetsrv\MetaBase.xml(建議先備份),
找到Location ="/LM/W3SVC/Filters/Compression/gzip用于設(shè)置gzip壓縮,
找到Location ="/LM/W3SVC/Filters/Compression/deflate"用于設(shè)置deflate壓縮.
上面兩個(gè)節(jié)點(diǎn)緊挨著.并且設(shè)置的屬性相同.
如果需要壓縮動(dòng)態(tài)文件,則將HcDoDynamicCompression設(shè)置為"TRUE",并在HcScriptFileExtensions中增加 您要壓縮的動(dòng)態(tài)文件后綴名,如aspx;如果需要壓縮靜態(tài)文件,則將HcDoStaticCompression和 HcDoOnDemandCompression設(shè)置為"TRUE",并在HcFileExtensions中增加您需要壓縮的靜態(tài)文件后綴名,如 xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的壓縮率,數(shù)值在0-10, 默認(rèn)為0.
四.要點(diǎn)總結(jié)
1. 在修改MetaBase.xml文件時(shí), 要停止"IIS Admin Service"服務(wù). 否則無(wú)法保存.
2.靜態(tài)壓縮和動(dòng)態(tài)壓縮率最好設(shè)置為9.
3.上文的步驟2, 即使不添加Web服務(wù)擴(kuò)展效果也是相同的.
4.壓縮率設(shè)置對(duì)js文件不起作用, 壓縮后大小總是相同的.
5.圖片文件即使啟用了gzip壓縮大小也沒(méi)有變化.
五. 總結(jié)
本文總結(jié)了如何在IIS中啟用Gzip壓縮. 在半年前的項(xiàng)目中我為網(wǎng)站啟用了Gzip, 今天整理此文主要為了整理自己的知識(shí)以便以后忘記時(shí)復(fù)習(xí). 另外經(jīng)查看ChinaCache公司提供的CDN也都啟用了Gzip壓縮.
相關(guān)文章
IIS6設(shè)置網(wǎng)站經(jīng)常遇到的問(wèn)題總結(jié)
在用IIS6架網(wǎng)站的時(shí)候遇到不少問(wèn)題,有些是新出來(lái)的,做了很多次試驗(yàn),結(jié)合以前的排錯(cuò)經(jīng)驗(yàn),做出了這個(gè)總結(jié)2013-12-12
IIS6.0 silverlight網(wǎng)站部署方法
在windows2003上通過(guò)IIS6.0部署一個(gè)silverlight網(wǎng)站與部署其他網(wǎng)站基本一致,但是有幾點(diǎn)特別需要注意的地方,掌握了這幾個(gè)小竅門(mén),就可以輕松部署你的silverlight網(wǎng)站了。2009-10-10
RDP 協(xié)議組件 X.224 在協(xié)議流中發(fā)現(xiàn)一個(gè)錯(cuò)誤并且中斷了客戶(hù)端連接的解決方法
今天在訪(fǎng)問(wèn)遠(yuǎn)程桌面的時(shí)候提示RDP 的 “DATA ENCRYPTION” 協(xié)議組件在協(xié)議流中檢測(cè)到一個(gè)錯(cuò)誤并且中斷了客戶(hù)機(jī),于是參考了下面的文章設(shè)置了一下,一般是由于訪(fǎng)問(wèn)量過(guò)大或有攻擊的時(shí)候容易出現(xiàn)問(wèn)題2016-01-01
Win2003下配置iis+php+mysql+zend圖文 使其支持asp,.net,cgi,perl和php
Windows 2003 下IIS 服務(wù)器配置, 使其完全支持asp,.net,cgi,perl和php+mysql+Zend。所需軟件: ActivePerl、PHP、MYSQL、Zend2012-01-01
在IIS上部署ASP.NET Core項(xiàng)目的圖文方法
這篇文章主要介紹了在IIS上部署ASP.NET Core項(xiàng)目的圖文方法,需要的朋友可以參考下2017-04-04
win2003服務(wù)器的一些安全設(shè)置(彩票)
這篇文章主要介紹了win2003服務(wù)器的一些安全設(shè)置(彩票),一些不錯(cuò)的地方,當(dāng)然也可以使用安全狗設(shè)置,需要的朋友可以參考下2016-01-01
阿里云SSL證書(shū)到期導(dǎo)入新證書(shū)的步驟
本文主要介紹了阿里云SSL證書(shū)到期導(dǎo)入新證書(shū)的步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04

