I’m trying to configure IIS 7.5 to compress static htm and js files. Does anyone know why it does not work for me? Here is my web.config for the web site:
<httpCompression>
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="false" />
Compression starts working when I set doDynamicCompression to true. But I can’t use this option because it is disabled at my hosting.
Thank you.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
What makes you think the compression is not working? Check the Event View logs. Static Compression module will sometimes throw an error saying the directory being used is invalid (mostly because it needs write permissions).
Double check with Fiddler or another HTTP debugging tool to be sure that the client is sending “Accept-Encoding” of GZIP/Deflate.
Method 2
Enabling Http caching and compression in IIS 7 for asp.net websites – Anil Kasalanati
How about this? Checkyour applicationHost.config file.
Method 3
I removed the mimeType=”application/x-javascript” from the dynamicTypes but left it in staticTypes. That allowed me to turn off dynamicCompression but still have javascript compressed.
I’ve read some posts that suggest that when you have the same mimeType in both dynamic and static, the value in dynamic wins. When dynamicCompression is off, but there is a match for it in the dynamicTypes, javascript is treated as dynamic and therefore off.
That doesn’t explain why CSS works because mimeType=”text/” is in both places. IIS must do a better job of determining dynamic vs. static content when it comes to CSS, or any text/.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0