问题
we're looking to compress our gargantuan JavaScript files with GZip to speed up the page loads of our site. I know this can be done through IIS, but I can't seem to find a simple step-by-step guide on how to implement it.
If someone could point me towards such a guide, I'd really appreciate it. I've never done this before, so it would need to be quite basic.
We're running IIS7.5 on Windows Server 2008 R2.
Your time is much appreciated.
回答1:
Turns out it's really easy:
- Go into IIS Manager
- Go to the site in question
- Go to 'Compression' (under IIS) and double-click on it
- Ensure that 'Enable static compression' is enabled.
Simple as that!
The only issues come with dynamically generated content, but I'm not interested in compressing that, so this is my answer. (Can't believe it was so easy... the other guides made it look like a nightmare!)
回答2:
'Enable static compression' didn't work for me at first.
I found that when I had these lines in my web.config file of my website between <system.webserver>
it works:
<staticContent>
<remove fileExtension=".js" />
<mimeMap fileExtension=".js" mimeType="text/javascript" />
</staticContent>
But I have to set it in each of my web.config file and if I have a PHP website running in IIS compression is not working, also, it seems to not work for my HMTL since I get (in ySlow) :
Grade C on Compress components with gzip
There are 2 plain text components that should be sent compressed
* http://www.ville.st-augustin.qc.ca/ * http://jquery-ui.googlecode.com/svn/tags/1.8/ui/minified/jquery.effects.core.min.js
回答3:
Be sure to check that your JavaScript files are actually being compressed when you simply enable static content compression. In our scenario this was not the case. This article gives a nice overview why, Getting IIS 7 to Compress JavaScript, and in the comments @Doug Mayer recommends enabling dynamic content compression, which did work for us.
So the steps are:
- In IIS Manager
- Select the desired level, server, web application, folder
- Open Compression under IIS
- Check 'Enable dynamic content compression'
- Apply
If this option is greyed out, you must first add the server role service 'Dynamic Content Compression' under Web Server | Performance in Server Manager.
来源:https://stackoverflow.com/questions/2510546/enabling-javascript-gzip-compression-in-iis