使用gzip压缩会增大服务器CPU的使用率但可以通过压缩而减少服务器向客户端发送的数据,若使用了Gzip压缩IIS在向客户端发送数据时会自动检测,如果客户端浏览器支持IE6.0,firefox Gzip,则使用Gzip压缩后再传送数据,如果不支持,则使用常规方式发送。
所以,总结下他的优缺点,优:压缩传输,速度一般提高2倍。缺:CPU占用会有所提高,不过通过我的一点分析,GZIP只是在访问一个页时才会进行压缩,下次如果网页没有变动是不会压缩的,除非是使用压缩动态文件,这需要实时压缩。
IIS6默认情况下没有开启GZIP功能,需要我们手动配置。
下面的vbs代码用来实现开启iis6的Gzip压缩功能,其原理是修改C:WINDOWSsystem32inetsrvMetaBase.xml,然后重启iis即可生效。
文件:gzip.vbs
REM Setup IIsCompressionScheme for GZip
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcCompressionDll "%windir%system32inetsrvgzip.dll"
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcCreateFlags 1
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcDoDynamicCompression TRUE
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcDoOnDemandCompression TRUE
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcDoStaticCompression TRUE
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcDynamicCompressionLevel 9
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcFileExtensions "htm" "html" "txt" "js" "xml" "css"
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcOnDemandCompLevel 9
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcPriority 1
cscript adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions "asp" "dll" "exe" "aspx" "asmx"
REM Setup IIsCompressionSchemes parameters
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcCacheControlHeader max-age=86400
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcCompressionBufferSize 102400
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcCompressionDirectory "%windir%IIS Temporary Compressed Files"
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcDoDiskSpaceLimiting FALSE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcDoDynamicCompression TRUE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcDoOnDemandCompression TRUE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcDoStaticCompression TRUE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcExpiresHeader "Wed, 01 Jan 1997 12:00:00 GMT"
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcFilesDeletedPerDiskFree 256
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcIoBufferSize 102400
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcMaxDiskSpaceUsage 0
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcMaxQueueLength 1000
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcMinFileSizeForComp 1
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcNoCompressionForHttp10 FALSE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcNoCompressionForProxies FALSE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcNoCompressionForRange FALSE
cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcSendCacheHeaders FALSE
iisreset