Search code examples
iis-7.5http-compression

IIS 7 compression not working


I have a Windows server 2008 R2 with IIS 7.

By default when you create a site in IIS, Compression is enabled. I checked the Compression module and both Checkboxes are checked.

Now, I am using fiddler to check if pages are being compressed but it seems they are not as the No Compression is selected and the page size is over 100 KB.

Why pages are Not compressing even though Compression is enabled in IIS 7 ?

Any suggestions will be highly appreciated.

Thanks.


Solution

  • I've come to a solution :-) This solution ALWAYS serves a compressed version.

    For me too, in IIS 7.5 Manager, I have checked Both boxes, in order to compress both :

    • Static files
    • Dynamic files

    Sometimes (the first-time a webpage is served), it is UNCOMPRESSED. Then, only the second time, it is COMPRESSED.

    The following solution comes from here : http://www.codeproject.com/Articles/242133/Making-the-most-out-of-IIS-compression-Part-conf

    In order to get IIS to ALWAYS cache the compressed version, rather than the uncompressed version, modify the applicationHost.config file. You'll normally find this file in the folder C:\Windows\System32\inetsrv\config:

    1. Make a backup copy of applicationHost.config.
    2. Open applicationHost.config with a text editor, — or — In IIS Manager, navigate to Default Website > Configuration Editor and go to the section "system.webServer/urlCompression"
    3. Find the section.
    4. Add the dynamicCompressionBeforeCache="true" attribute to the urlCompression element,
    5. Collapse | Copy Code

    6. Save the applicationHost.config file
    7. Reset the IIS server to make the new attribute take effect
    8. Start IIS Manager, click the server at the top of the tree, and then click Restart on the right-hand side

    I Hope it will save your day, as it saved mine !