Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I enable gzip compression when using MVC3 on IIS7?

Does anybody know how to enable gzip compression in MVC 3? I'm using IIS7.

Google Chrome Audit's result:

  1. Enable gzip compression (4)
  2. Compressing the following resources with gzip could reduce their transfer size by about two thirds (~92.23KB):
  3. /mydomain/ could save ~1.53KB
  4. jquery-1.4.4.min.js could save ~51.35KB
  5. Cufon.js could save ~11.89KB
  6. Futura.js could save ~27.46KB
like image 329
imarkic84 Avatar asked Aug 09 '11 07:08

imarkic84


People also ask

How do I enable gzip compression?

To enable GZIP compression on Apache servers, you need to use its mod_filter and mod_deflate modules and configure them properly with the right directives. They will direct Apache to compress server output before sending it to clients over the network.

How do I enable gzip compression IIS?

Check the httpCompression TypesCheck the httpCompression section in applicationHost. config file, you should find <add mimeType="application/x-javascript" enabled="true" /> . If this is correct, then it should be correctly configured in your IIS. This will start compressing your .

How is gzip compressed?

Gzip, the most popular compression method, is used by web servers and browsers to seamlessly compress and decompress content as it's transmitted over the Internet. Used mostly on code and text files, gzip can reduce the size of JavaScript, CSS, and HTML files by up to 90%.


1 Answers

You can configure compression through your web.config file as follows:

<system.webServer>     <urlCompression doStaticCompression="true" doDynamicCompression="true" /> </system.webServer> 

You can find documentation of this configuration element at iis.net/ConfigReference. This is the equivalent of:

  1. Opening Internet Information Services (IIS Manager)
  2. Navigating through the tree-view on the left until you reach the virtual directory you wish to modify
  3. Selecting the appropriate virtual directory so that the title of the right-hand pane becomes the name of said virtual directory.
  4. Choosing "Compression" under "IIS" in the right-hand pane
  5. Ticking both options and choosing "Apply" under "Actions" on the far right.

Note: (As pointed out in the comments) You need to ensure that Http Dynamic Compression is installed otherwise setting doDynamicCompression="true" will not have any effect. The quickest way to do this is:

  1. Start > Type optionalfeatures (this is the quickest way to get to the "Turn Windows Features on or off" window)
  2. Navigate to Internet Information Services > World Wide Web Services > Performance Features in the "Windows Features" treeview
  3. Ensure "Dynamic Content Compression" is ticked
  4. Click "Ok" and wait whilst Windows installs the component
like image 71
Rob Avatar answered Sep 17 '22 05:09

Rob