July 1, 2011
An IT and Web Development Blog
July 1, 2011
I recently configured compression on a IIS 7.5 website, but it took a few steps. I was not able to find all the steps required in one place so I thought I would post them here.
The first step is to make sure static compression is enabled in your ApplicationHost.config file like so:
<httpCompression directory="%SystemDrive%inetpubtempIIS Temporary Compressed Files" minFileSizeForComp="0"> <scheme name="gzip" dll="%Windir%system32inetsrvgzip.dll" /> <staticTypes><add mimeType="text/*" enabled="true" /> <add mimeType="message/*" enabled="true" /> <add mimeType="application/javascript" enabled="true" /> <add mimeType="*/*" enabled="false" /> </staticTypes> </httpCompression>
Next we must change the javascript mime type in the ApplicationHost.config to:
<system.webServer> <staticContent> <remove fileExtension=".js" /> <mimeMap fileExtension=".js" mimeType="text/javascript" /> </staticContent> </system.webServer>
The last step is to run an appcmd command that tells IIS to compress all pages not just pages accessed twice within 10 seconds, which is the default.
%windir%system32inetsrvappcmd.exe set config -section:system.webServer/serverRuntime -frequentHitThreshold:1
Now we have static compression enabled in IIS 7.5.
Kevin
June 24, 2011
There is a cool Firefox and Chrome extension called Page Speed (http://code.google.com/speed/page-speed/). It allows you to figure out what is making your web site load slowly. One of the tips it gives is how to Minify JavaScript. I found this great Minify tool called YUI Compressor (http://www.refresh-sf.com/yui/). It allows you to paste your JavaScript or JQuery code into the website and it outputs your minified JQuery or Javascript code. It can also minify CSS. These two tools help me make websites that load much quicker.
Kevin
June 20, 2011
I host this blog on Godaddy, and I installed a SSL certificate but could not find a way to automatically redirect the user to HTTPS, without having access to IIS or upgrading to IIS 7. So I wrote this script that works great for me.
<script type="text/javascript" language="javascript"> var protocol = location.protocol; var hostname = location.hostname; var pathname = location.pathname; if (protocol == "http:") { protocol = "https:"; location.replace(protocol + "//" + hostname + pathname); }; </script>
This code does exactly what I wanted by replacing an HTTP with HTTPS if found. I put this code in my default document and it worked great for me.
Kevin