You've always been able to perform HTTP compression in ASP.NET by using
third-party libraries or own custom built ones. With IIS 7 you can now throw
that away and utilize the build-in compression available from the web.config.
Add the following line to enable HTTP compression:
<urlCompression doDynamicCompression=”true”
doStaticCompression=”true” dynamicCompressionBeforeCache=”true” />
By default, only text based content types are compressed.
doDynamicCompressionSetting : this attribute to true enables compression of
dynamically generated content such as pages, views, handlers. There really
aren't any reasons not to enable this.
doStaticCompression : This attribute allows you to decide whether or not you
want static files such as stylesheets and script files to be compressed. Images
and other non-text content types will not be compressed by default. This is also
something you want to enable.
dynamicCompressionBeforeCache: If you do output caching from within your ASP.NET
website, you can tell IIS 7 to compress the output before putting it into cache.
Only if you do some custom output caching you might run into issues with setting
this to true. Try it and test it. If your website works with this enabled, then
you definitely want to keep it enabled.
By default, only text based content types are compressed. That means if you send
application/x-javascript as content type, you should change it to text/javascript.
If you use some custom modules in your website, then you might experience
conflicts with the IIS 7 compression feature.