URLScan.net

The HTTP/1.1 protocol allows for clients to optionally request the compression of content from the server.



How to Configure GZip compression on Microsoft IIS



 

The HTTP/1.1 protocol allows for clients to optionally request the compression of content from the server. The standard itself specifies two compression methods: “gzip” (the content wrapped in a gzip stream) and “deflate” (the content in a raw, headerless DEFLATE stream). Both are supported by many HTTP client libraries and almost all modern browsers.


gzip is based on the DEFLATE algorithm, which is a combination of LZ77 and Huffman coding. DEFLATE was intended as a replacement for LZW and other patent-encumbered data compression algorithms which, at the time, limited the usability of compress and other popular archivers.

gzip compression is not enabled by default on IIS5/6, thare is sevral steps need to be done so gzip will be activated.

Enabling gzip at IIS Manager

At IIS Manager (inetmgr.exe) open Web Sites Properties, at Service tab mark Compress application files & Compress static files.

configure gzip in microsoft iis manager inetmgr

Choose file extention to be ommpresed by editing c:\WINDOWS\system32\inetsrv\MetaBase.xml file.

Before Editing Metabase.xml file stop IIS Services or enable Direct Metabase Edit at Web Server Properties configure gzip in microsoft iis metadata.xml


 

Edit Metabase.xml with text editor and locate the following lines:
HcFileExtensions
HcScriptFileExtensions

Both of thes keys are mentiond twice in Metabase.xml, for gzip ompression and deflate compression, add the file extention fo gzip compression.

<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="0"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="FALSE"
HcDynamicCompressionLevel="0"
HcFileExtensions="htm
     html
     txt
     xml
     css
     js"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="asp
     dll
     exe
     aspx
     php"
   >
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="0"
HcFileExtensions="htm
     html
     txt
     xml
     css
     js"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="asp
     dll
     exe
     aspx
     php"
   >
</IIsCompressionScheme>

To enable or disable gzip per web site and not for all web sites, use this commands:
cscript C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/site#/root/DoStaticCompression False
cscript C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/site#/root/DoDynamicCompression False

adding file extention to be compressed can be preformed with this command:
cscript C:\Inetpub\AdminScripts\adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcFileExtensions "htm" "txt" "doc"