<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Experiment, Adopt, Achieve &#187; code</title>
	<atom:link href="http://www.markgibaud.com/blog/tag/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.markgibaud.com/blog</link>
	<description>On Innovation in Software Engineering</description>
	<lastBuildDate>Fri, 02 Apr 2010 13:28:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Solution to Combine, Minify and GZIP your JS and CSS</title>
		<link>http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/</link>
		<comments>http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 12:05:02 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
				<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://www.markgibaud.com/blog/?p=22</guid>
		<description><![CDATA[I&#8217;ve recently completed a fair bit of research and consequent development at work that goes quite far to improve the performance of our web application&#8217;s front-end. I thought I&#8217;d share the basic solution here. The first obvious thing to do is benchmark your site using Yahoo&#8217;s YSlow and Google&#8217;s PageSpeed. These will highlight the &#34;low-hanging [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently completed a fair bit of research and consequent development at work that goes quite far to improve the performance of our web application&#8217;s front-end. I thought I&#8217;d share the basic solution here.</p>
<p>The first obvious thing to do is benchmark your site using Yahoo&#8217;s YSlow and Google&#8217;s PageSpeed. These will highlight the &quot;low-hanging fruit&quot; performance improvements to make. Unless you&#8217;ve already done so, the resulting suggestions will almost certainly include combining, minifying and gzipping your static content.</p>
<p>The steps we&#8217;re going to perform are:</p>
<ol>
<li>Write a custom HTTPHandler to combine and minify CSS. </li>
<li>Write a custom HTTPHandler to combine and minify JS. </li>
<li>Include a mechanism to ensure that the above only do their magic when the application is not in debug mode. </li>
<li>Write a custom server-side web control to easily maintain css/js file inclusion. </li>
<li>Enable GZIP of certain content types on IIS 6. </li>
</ol>
<p>Right, let&#8217;s start with CSSHandler.asax that implements the .NET IHttpHandler interface:</p>
<pre class="code"><span style="color: blue">using </span>System;
<span style="color: blue">using </span>System.Collections.Generic;
<span style="color: blue">using </span>System.IO;
<span style="color: blue">using </span>System.Text;
<span style="color: blue">using </span>System.Web;

<span style="color: blue">namespace </span>WebApplication1
{
    <span style="color: blue">public class </span><span style="color: #2b91af">CssHandler </span>: <span style="color: #2b91af">IHttpHandler
    </span>{
        <span style="color: blue">public bool </span>IsReusable { <span style="color: blue">get </span>{ <span style="color: blue">return true</span>; } }

        <span style="color: blue">public void </span>ProcessRequest(<span style="color: #2b91af">HttpContext </span>context)
        {
            <span style="color: blue">string</span>[] cssFiles = context.Request.QueryString[<span style="color: #a31515">&quot;cssfiles&quot;</span>].Split(<span style="color: #a31515">','</span>);

            <span style="color: #2b91af">List</span>&lt;<span style="color: blue">string</span>&gt; files = <span style="color: blue">new </span><span style="color: #2b91af">List</span>&lt;<span style="color: blue">string</span>&gt;();
            <span style="color: #2b91af">StringBuilder </span>response = <span style="color: blue">new </span><span style="color: #2b91af">StringBuilder</span>();
            <span style="color: blue">foreach </span>(<span style="color: blue">string </span>cssFile <span style="color: blue">in </span>cssFiles)
            {
                <span style="color: blue">if </span>(!cssFile.EndsWith(<span style="color: #a31515">&quot;.css&quot;</span>, <span style="color: #2b91af">StringComparison</span>.OrdinalIgnoreCase))
                {
                    <span style="color: green">//log custom exception
                    </span>context.Response.StatusCode = 403;
                    <span style="color: blue">return</span>;
                }

                <span style="color: blue">try
                </span>{
                    <span style="color: blue">string </span>filePath = context.Server.MapPath(cssFile);
                    <span style="color: blue">string </span>css = <span style="color: #2b91af">File</span>.ReadAllText(filePath);
                    <span style="color: blue">string </span>compressedCss = Yahoo.Yui.Compressor.<span style="color: #2b91af">CssCompressor</span>.Compress(css);
                    response.Append(compressedCss);
                }
                <span style="color: blue">catch </span>(<span style="color: #2b91af">Exception </span>ex)
                {
                    <span style="color: green">//log exception
                    </span>context.Response.StatusCode = 500;
                    <span style="color: blue">return</span>;
                }
            }

            context.Response.Write(response.ToString());

            <span style="color: blue">string </span>version = <span style="color: #a31515">&quot;1.0&quot;</span>; <span style="color: green">//your dynamic version number 

            </span>context.Response.ContentType = <span style="color: #a31515">&quot;text/css&quot;</span>;
            context.Response.AddFileDependencies(files.ToArray());
            <span style="color: #2b91af">HttpCachePolicy </span>cache = context.Response.Cache;
            cache.SetCacheability(<span style="color: #2b91af">HttpCacheability</span>.Public);
            cache.VaryByParams[<span style="color: #a31515">&quot;cssfiles&quot;</span>] = <span style="color: blue">true</span>;
            cache.SetETag(version);
            cache.SetLastModifiedFromFileDependencies();
            cache.SetMaxAge(<span style="color: #2b91af">TimeSpan</span>.FromDays(14));
            cache.SetRevalidation(<span style="color: #2b91af">HttpCacheRevalidation</span>.AllCaches);
        }
    }
}</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>Ok, now some explanation:</p>
</p>
<p>IsReUsable property:</p>
<p>We aren&#8217;t dealing with anything instance-specific, which means we can safely reuse the same instance of the handler to deal with multiple requests, because our ProcessRequest is threadsafe. <a href="http://neilkilbride.blogspot.com/2008/01/ihttphandler-isreusable-property.html">More info</a>.</p>
<p>ProcessRequest method:</p>
<p>Nothing too hectic going on here. We&#8217;re looping through the CSS files given to us (see the CSSControl below for how they&#8217;re coming in) and compressing each one, using a .NET port of Yahoo&#8217;s YUICompressor, before adding the contents to the outgoing response stream.</p>
<p>The remainder of the method deals with setting up some HTTP caching properties to further optimise the way the browser client downloads (or not, as the case may be) content.</p>
<ul>
<li>We set Etags in code so that they may be the same across all machines in our server farm. </li>
<li>We set Response and Cache dependencies on our actual files so, should they be replaced, cache will be invalidated. </li>
<li>We set Cacheability such that proxies can cache. </li>
<li>We VaryByParams using our <em>cssfiles</em> attribute, so that we can cache per CSS file group submitted through the handler. </li>
</ul>
<p>And here is the CSSControl, a custom server-side control inheriting the .NET LiteralControl.</p>
<p>Front:</p>
<pre class="code"><span style="color: blue">&lt;</span><span style="color: #a31515">customcontrols</span><span style="color: blue">:</span><span style="color: #a31515">csscontrol </span><span style="color: red">id</span><span style="color: blue">=&quot;cssControl&quot; </span><span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;&gt;
          &lt;</span><span style="color: #a31515">CustomControls</span><span style="color: blue">:</span><span style="color: #a31515">Stylesheet </span><span style="color: red">File</span><span style="color: blue">=&quot;main.css&quot; /&gt;
          &lt;</span><span style="color: #a31515">CustomControls</span><span style="color: blue">:</span><span style="color: #a31515">Stylesheet </span><span style="color: red">File</span><span style="color: blue">=&quot;layout.css&quot; /&gt;
          &lt;</span><span style="color: #a31515">CustomControls</span><span style="color: blue">:</span><span style="color: #a31515">Stylesheet </span><span style="color: red">File</span><span style="color: blue">=&quot;formatting.css&quot; /&gt;
&lt;/</span><span style="color: #a31515">customcontrols</span><span style="color: blue">:</span><span style="color: #a31515">csscontrol</span><span style="color: blue">&gt;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>Back: </p>
<pre class="code"><span style="color: blue">using </span>System;
<span style="color: blue">using </span>System.Collections.Generic;
<span style="color: blue">using </span>System.ComponentModel;
<span style="color: blue">using </span>System.Web;
<span style="color: blue">using </span>System.Web.UI;
<span style="color: blue">using </span>System.Linq;
<span style="color: blue">using </span>TTC.iTropics.Utilities;

<span style="color: blue">namespace </span>WebApplication1
{
    [<span style="color: #2b91af">DefaultProperty</span>(<span style="color: #a31515">&quot;Stylesheets&quot;</span>)]
    [<span style="color: #2b91af">ParseChildren</span>(<span style="color: blue">true</span>, <span style="color: #a31515">&quot;Stylesheets&quot;</span>)]
    <span style="color: blue">public class </span><span style="color: #2b91af">CssControl </span>: <span style="color: #2b91af">LiteralControl
    </span>{
        [<span style="color: #2b91af">PersistenceMode</span>(<span style="color: #2b91af">PersistenceMode</span>.InnerDefaultProperty)]
        <span style="color: blue">public </span><span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">Stylesheet</span>&gt; Stylesheets { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }

        <span style="color: blue">public </span>CssControl()
        {
            Stylesheets = <span style="color: blue">new </span><span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">Stylesheet</span>&gt;();
        }

        <span style="color: blue">protected override void </span>Render(<span style="color: #2b91af">HtmlTextWriter </span>output)
        {
            <span style="color: blue">if </span>(<span style="color: #2b91af">HttpContext</span>.Current.IsDebuggingEnabled)
            {
                <span style="color: blue">const string </span>format = <span style="color: #a31515">&quot;&lt;link rel=\&quot;Stylesheet\&quot; href=\&quot;stylesheets/{0}\&quot;&gt;&lt;/link&gt;&quot;</span>;

                <span style="color: blue">foreach </span>(<span style="color: #2b91af">Stylesheet </span>sheet <span style="color: blue">in </span>Stylesheets)
                    output.Write(format, sheet.File);
            }
            <span style="color: blue">else
            </span>{
                <span style="color: blue">const string </span>format = <span style="color: #a31515">&quot;&lt;link type=\&quot;text/css\&quot; rel=\&quot;Stylesheet\&quot; href=\&quot;stylesheets/CssHandler.ashx?cssfiles={0}&amp;version={1}\&quot;/&gt;&quot;</span>;
                <span style="color: #2b91af">IEnumerable</span>&lt;<span style="color: blue">string</span>&gt; stylesheetsArray = Stylesheets.Select(s =&gt; s.File);
                <span style="color: blue">string </span>stylesheets = <span style="color: #2b91af">String</span>.Join(<span style="color: #a31515">&quot;,&quot;</span>, stylesheetsArray.ToArray());
                <span style="color: blue">string </span>version = <span style="color: #a31515">&quot;1.00&quot; </span><span style="color: green">//your version number

                </span>output.Write(format, stylesheets, version);
            }

        }
    }

    <span style="color: blue">public class </span><span style="color: #2b91af">Stylesheet
    </span>{
        <span style="color: blue">public string </span>File { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }
    }
}</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>HttpContext.Current.IsDebuggingEnabled is hooked up to the following setting in your web.config: </p>
<p></p>
<pre class="code"><span style="color: blue">&lt;</span><span style="color: #a31515">system.web</span><span style="color: blue">&gt;
    &lt;</span><span style="color: #a31515">compilation </span><span style="color: red">debug</span><span style="color: blue">=</span>&quot;<span style="color: blue">false</span>&quot;<span style="color: blue">&gt;
&lt;/</span><span style="color: #a31515">system.web</span><span style="color: blue">&gt;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>So, basically, if your site is in debug mode you get HTML markup like this: </p>
<p></p>
<pre class="code"><span style="color: blue">&lt;</span><span style="color: #a31515">link </span><span style="color: red">rel</span><span style="color: blue">=&quot;Stylesheet&quot; </span><span style="color: red">href</span><span style="color: blue">=&quot;stylesheets/formatting.css&quot;&gt;&lt;/</span><span style="color: #a31515">link</span><span style="color: blue">&gt;
&lt;</span><span style="color: #a31515">link </span><span style="color: red">rel</span><span style="color: blue">=&quot;Stylesheet&quot; </span><span style="color: red">href</span><span style="color: blue">=&quot;stylesheets/layout.css&quot;&gt;&lt;/</span><span style="color: #a31515">link
</span><span style="color: blue">&lt;</span><span style="color: #a31515">link </span><span style="color: red">rel</span><span style="color: blue">=&quot;Stylesheet&quot; </span><span style="color: red">href</span><span style="color: blue">=&quot;stylesheets/main.css&quot;&gt;&lt;/</span><span style="color: #a31515">link</span><span style="color: blue">&gt;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>But if you&#8217;re in production mode (debug=false), you&#8217;ll get markup like this: </p>
<p></p>
<pre class="code"><span style="color: blue">&lt;</span><span style="color: #a31515">link </span><span style="color: red">type</span><span style="color: blue">=&quot;text/css&quot; </span><span style="color: red">rel</span><span style="color: blue">=&quot;Stylesheet&quot; </span><span style="color: red">href</span><span style="color: blue">=&quot;CssHandler.ashx?cssfiles=main.css,layout.css,formatting.css&amp;version=1.0&quot;/&gt;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>The latter will then obviously invoke the CSSHandler, which will take care of combining, minifying and cache-readying your static CSS content. </p>
<p>All of the above can then also be duplicated for your static JavaScript content:</p>
<p>`JSHandler.ashx:</p>
<pre class="code"><span style="color: blue">using </span>System;
<span style="color: blue">using </span>System.Collections.Generic;
<span style="color: blue">using </span>System.IO;
<span style="color: blue">using </span>System.Text;
<span style="color: blue">using </span>System.Web;

<span style="color: blue">namespace </span>WebApplication1
{
    <span style="color: blue">public class </span><span style="color: #2b91af">JSHandler </span>: <span style="color: #2b91af">IHttpHandler
    </span>{
        <span style="color: blue">public bool </span>IsReusable { <span style="color: blue">get </span>{ <span style="color: blue">return true</span>; } }

        <span style="color: blue">public void </span>ProcessRequest(<span style="color: #2b91af">HttpContext </span>context)
        {
            <span style="color: blue">string</span>[] jsFiles = context.Request.QueryString[<span style="color: #a31515">&quot;jsfiles&quot;</span>].Split(<span style="color: #a31515">','</span>);

            <span style="color: #2b91af">List</span>&lt;<span style="color: blue">string</span>&gt; files = <span style="color: blue">new </span><span style="color: #2b91af">List</span>&lt;<span style="color: blue">string</span>&gt;();
            <span style="color: #2b91af">StringBuilder </span>response = <span style="color: blue">new </span><span style="color: #2b91af">StringBuilder</span>();

            <span style="color: blue">foreach </span>(<span style="color: blue">string </span>jsFile <span style="color: blue">in </span>jsFiles)
            {
                <span style="color: blue">if </span>(!jsFile.EndsWith(<span style="color: #a31515">&quot;.js&quot;</span>, <span style="color: #2b91af">StringComparison</span>.OrdinalIgnoreCase))
                {
                    <span style="color: green">//log custom exception
                    </span>context.Response.StatusCode = 403;
                    <span style="color: blue">return</span>;
                }

                <span style="color: blue">try
                </span>{
                    <span style="color: blue">string </span>filePath = context.Server.MapPath(jsFile);
                    <span style="color: blue">string </span>js = <span style="color: #2b91af">File</span>.ReadAllText(filePath);
                    <span style="color: blue">string </span>compressedJS = Yahoo.Yui.Compressor.<span style="color: #2b91af">JavaScriptCompressor</span>.Compress(js);
                    response.Append(compressedJS);
                }
                <span style="color: blue">catch </span>(<span style="color: #2b91af">Exception </span>ex)
                {
                    <span style="color: green">//log exception
                    </span>context.Response.StatusCode = 500;
                    <span style="color: blue">return</span>;
                }
            }

            context.Response.Write(response.ToString());

            <span style="color: blue">string </span>version = <span style="color: #a31515">&quot;1.0&quot;</span>; <span style="color: green">//your dynamic version number here

            </span>context.Response.ContentType = <span style="color: #a31515">&quot;application/javascript&quot;</span>;
            context.Response.AddFileDependencies(files.ToArray());
            <span style="color: #2b91af">HttpCachePolicy </span>cache = context.Response.Cache;
            cache.SetCacheability(<span style="color: #2b91af">HttpCacheability</span>.Public);
            cache.VaryByParams[<span style="color: #a31515">&quot;jsfiles&quot;</span>] = <span style="color: blue">true</span>;
            cache.VaryByParams[<span style="color: #a31515">&quot;version&quot;</span>] = <span style="color: blue">true</span>;
            cache.SetETag(version);
            cache.SetLastModifiedFromFileDependencies();
            cache.SetMaxAge(<span style="color: #2b91af">TimeSpan</span>.FromDays(14));
            cache.SetRevalidation(<span style="color: #2b91af">HttpCacheRevalidation</span>.AllCaches);
        }
    }
}</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>And its accompanying JSControl: </p>
<p>Front:</p>
<pre class="code"><span style="color: blue">&lt;</span><span style="color: #a31515">customcontrols</span><span style="color: blue">:</span><span style="color: #a31515">JSControl </span><span style="color: red">ID</span><span style="color: blue">=&quot;jsControl&quot; </span><span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;&gt;
    &lt;</span><span style="color: #a31515">customcontrols</span><span style="color: blue">:</span><span style="color: #a31515">Script </span><span style="color: red">File</span><span style="color: blue">=&quot;jquery/jquery-1.3.2.js&quot; /&gt;
    &lt;</span><span style="color: #a31515">customcontrols</span><span style="color: blue">:</span><span style="color: #a31515">Script </span><span style="color: red">File</span><span style="color: blue">=&quot;main.js&quot; /&gt;
    &lt;</span><span style="color: #a31515">customcontrols</span><span style="color: blue">:</span><span style="color: #a31515">Script </span><span style="color: red">File</span><span style="color: blue">=&quot;creditcardpayments.js&quot; /&gt;
&lt;/</span><span style="color: #a31515">customcontrols</span><span style="color: blue">:</span><span style="color: #a31515">JSControl</span><span style="color: blue">&gt;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>Back: </p>
<p></p>
<pre class="code"><span style="color: blue">using </span>System;
<span style="color: blue">using </span>System.Collections.Generic;
<span style="color: blue">using </span>System.ComponentModel;
<span style="color: blue">using </span>System.Web;
<span style="color: blue">using </span>System.Web.UI;
<span style="color: blue">using </span>System.Linq;

<span style="color: blue">namespace </span>WebApplication1
{
    [<span style="color: #2b91af">DefaultProperty</span>(<span style="color: #a31515">&quot;Scripts&quot;</span>)]
    [<span style="color: #2b91af">ParseChildren</span>(<span style="color: blue">true</span>, <span style="color: #a31515">&quot;Scripts&quot;</span>)]
    <span style="color: blue">public class </span><span style="color: #2b91af">JSControl </span>: <span style="color: #2b91af">LiteralControl
    </span>{
        [<span style="color: #2b91af">PersistenceMode</span>(<span style="color: #2b91af">PersistenceMode</span>.InnerDefaultProperty)]
        <span style="color: blue">public </span><span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">Script</span>&gt; Scripts { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }

        <span style="color: blue">public </span>JSControl()
        {
            Scripts = <span style="color: blue">new </span><span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">Script</span>&gt;();
        }

        <span style="color: blue">protected override void </span>Render(<span style="color: #2b91af">HtmlTextWriter </span>writer)
        {
            <span style="color: blue">if </span>(<span style="color: #2b91af">HttpContext</span>.Current.IsDebuggingEnabled)
            {
                <span style="color: blue">const string </span>format = <span style="color: #a31515">&quot;&lt;script src=\&quot;scripts\\{0}\&quot;&gt;&lt;/script&gt;&quot;</span>;

                <span style="color: blue">foreach </span>(<span style="color: #2b91af">Script </span>script <span style="color: blue">in </span>Scripts)
                    writer.Write(format, script.File);
            }
            <span style="color: blue">else
            </span>{
                <span style="color: #2b91af">IEnumerable</span>&lt;<span style="color: blue">string</span>&gt; scriptsArray = Scripts.Select(s =&gt; s.File);
                <span style="color: blue">string </span>scripts = <span style="color: #2b91af">String</span>.Join(<span style="color: #a31515">&quot;,&quot;</span>, scriptsArray.ToArray());
                <span style="color: blue">string </span>version = <span style="color: #a31515">&quot;1.0&quot; </span><span style="color: green">//your dynamic version number
                </span><span style="color: blue">const string </span>format = <span style="color: #a31515">&quot;&lt;script src=\&quot;scripts/JsHandler.ashx?jsfiles={0}&amp;version={1}\&quot;&gt;&lt;/script&gt;&quot;</span>;

                writer.Write(format, scripts, version);
            }
        }
    }

    <span style="color: blue">public class </span><span style="color: #2b91af">Script
    </span>{
        <span style="color: blue">public string </span>File { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }
    }
}</pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>Enabling GZIP: </p>
<p>As Jeff Atwood <a href="http://www.codinghorror.com/blog/archives/000059.html">says</a>, enabling Gzip on your web site server is a no-brainer. After some tracing, I decided to enable Gzip on the following file types:</p>
<ul>
<li>.css </li>
<li>.js </li>
<li>.axd (Microsoft Javascript files) </li>
<li>.aspx (Usual ASP.NET Web Forms content) </li>
<li>.ashx (Our handlers) </li>
</ul>
<p>To enable HTTP Compression on your IIS 6.0 web server:</p>
<ol>
<li>Open IIS, Right click Web Sites, Services tab, enable <strong>Compress Application Files</strong> and <strong>Compress Static Files</strong> </li>
<li>Stop IIS </li>
<li>Open up IIS Metabase in Notepad (C:\WINDOWS\system32\inetsrv\MetaBase.xml) &#8211; and make a back up if you&#8217;re nervous about these things <img src='http://www.markgibaud.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  </li>
<li>Locate and overwrite the two <strong>IIsCompressionScheme</strong> and one <strong>IIsCompressionSchemes</strong> elements with the following: </li>
</ol>
<pre class="code"><span style="color: blue">&lt;</span><span style="color: #a31515">IIsCompressionScheme    </span><span style="color: red">Location </span><span style="color: blue">=</span>&quot;<span style="color: blue">/LM/W3SVC/Filters/Compression/deflate</span>&quot;
        <span style="color: red">HcCompressionDll</span><span style="color: blue">=</span>&quot;<span style="color: blue">%windir%\system32\inetsrv\gzip.dll</span>&quot;
        <span style="color: red">HcCreateFlags</span><span style="color: blue">=</span>&quot;<span style="color: blue">0</span>&quot;
        <span style="color: red">HcDoDynamicCompression</span><span style="color: blue">=</span>&quot;<span style="color: blue">TRUE</span>&quot;
        <span style="color: red">HcDoOnDemandCompression</span><span style="color: blue">=</span>&quot;<span style="color: blue">TRUE</span>&quot;
        <span style="color: red">HcDoStaticCompression</span><span style="color: blue">=</span>&quot;<span style="color: blue">TRUE</span>&quot;
        <span style="color: red">HcDynamicCompressionLevel</span><span style="color: blue">=</span>&quot;<span style="color: blue">9</span>&quot;
        <span style="color: red">HcFileExtensions</span><span style="color: blue">=</span>&quot;<span style="color: blue">htm
            html
            txt
            css</span>&quot;
        <span style="color: red">HcOnDemandCompLevel</span><span style="color: blue">=</span>&quot;<span style="color: blue">9</span>&quot;
        <span style="color: red">HcPriority</span><span style="color: blue">=</span>&quot;<span style="color: blue">1</span>&quot;
        <span style="color: red">HcScriptFileExtensions</span><span style="color: blue">=</span>&quot;<span style="color: blue">asp
            dll
            exe
            aspx
            js
            ashx
            axd</span>&quot;
    <span style="color: blue">&gt;
&lt;/</span><span style="color: #a31515">IIsCompressionScheme</span><span style="color: blue">&gt;
&lt;</span><span style="color: #a31515">IIsCompressionScheme    </span><span style="color: red">Location </span><span style="color: blue">=</span>&quot;<span style="color: blue">/LM/W3SVC/Filters/Compression/gzip</span>&quot;
        <span style="color: red">HcCompressionDll</span><span style="color: blue">=</span>&quot;<span style="color: blue">%windir%\system32\inetsrv\gzip.dll</span>&quot;
        <span style="color: red">HcCreateFlags</span><span style="color: blue">=</span>&quot;<span style="color: blue">1</span>&quot;
        <span style="color: red">HcDoDynamicCompression</span><span style="color: blue">=</span>&quot;<span style="color: blue">TRUE</span>&quot;
        <span style="color: red">HcDoOnDemandCompression</span><span style="color: blue">=</span>&quot;<span style="color: blue">TRUE</span>&quot;
        <span style="color: red">HcDoStaticCompression</span><span style="color: blue">=</span>&quot;<span style="color: blue">TRUE</span>&quot;
        <span style="color: red">HcDynamicCompressionLevel</span><span style="color: blue">=</span>&quot;<span style="color: blue">9</span>&quot;
        <span style="color: red">HcFileExtensions</span><span style="color: blue">=</span>&quot;<span style="color: blue">htm
            html
            txt
            css</span>&quot;
        <span style="color: red">HcOnDemandCompLevel</span><span style="color: blue">=</span>&quot;<span style="color: blue">9</span>&quot;
        <span style="color: red">HcPriority</span><span style="color: blue">=</span>&quot;<span style="color: blue">1</span>&quot;
        <span style="color: red">HcScriptFileExtensions</span><span style="color: blue">=</span>&quot;<span style="color: blue">asp
            dll
            exe
            aspx
            js
            ashx
            axd</span>&quot;
    <span style="color: blue">&gt;
&lt;/</span><span style="color: #a31515">IIsCompressionScheme</span><span style="color: blue">&gt;
&lt;</span><span style="color: #a31515">IIsCompressionSchemes    </span><span style="color: red">Location </span><span style="color: blue">=</span>&quot;<span style="color: blue">/LM/W3SVC/Filters/Compression/Parameters</span>&quot;
        <span style="color: red">HcCacheControlHeader</span><span style="color: blue">=</span>&quot;<span style="color: blue">max-age=86400</span>&quot;
        <span style="color: red">HcCompressionBufferSize</span><span style="color: blue">=</span>&quot;<span style="color: blue">8192</span>&quot;
        <span style="color: red">HcCompressionDirectory</span><span style="color: blue">=</span>&quot;<span style="color: blue">%windir%\IIS Temporary Compressed Files</span>&quot;
        <span style="color: red">HcDoDiskSpaceLimiting</span><span style="color: blue">=</span>&quot;<span style="color: blue">FALSE</span>&quot;
        <span style="color: red">HcDoDynamicCompression</span><span style="color: blue">=</span>&quot;<span style="color: blue">TRUE</span>&quot;
        <span style="color: red">HcDoOnDemandCompression</span><span style="color: blue">=</span>&quot;<span style="color: blue">TRUE</span>&quot;
        <span style="color: red">HcDoStaticCompression</span><span style="color: blue">=</span>&quot;<span style="color: blue">TRUE</span>&quot;
        <span style="color: red">HcExpiresHeader</span><span style="color: blue">=</span>&quot;<span style="color: blue">Wed, 01 Jan 1997 12:00:00 GMT</span>&quot;
        <span style="color: red">HcFilesDeletedPerDiskFree</span><span style="color: blue">=</span>&quot;<span style="color: blue">256</span>&quot;
        <span style="color: red">HcIoBufferSize</span><span style="color: blue">=</span>&quot;<span style="color: blue">8192</span>&quot;
        <span style="color: red">HcMaxDiskSpaceUsage</span><span style="color: blue">=</span>&quot;<span style="color: blue">99614720</span>&quot;
        <span style="color: red">HcMaxQueueLength</span><span style="color: blue">=</span>&quot;<span style="color: blue">1000</span>&quot;
        <span style="color: red">HcMinFileSizeForComp</span><span style="color: blue">=</span>&quot;<span style="color: blue">1</span>&quot;
        <span style="color: red">HcNoCompressionForHttp10</span><span style="color: blue">=</span>&quot;<span style="color: blue">FALSE</span>&quot;
        <span style="color: red">HcNoCompressionForProxies</span><span style="color: blue">=</span>&quot;<span style="color: blue">FALSE</span>&quot;
        <span style="color: red">HcNoCompressionForRange</span><span style="color: blue">=</span>&quot;<span style="color: blue">FALSE</span>&quot;
        <span style="color: red">HcSendCacheHeaders</span><span style="color: blue">=</span>&quot;<span style="color: blue">FALSE</span>&quot;
    <span style="color: blue">&gt;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>And that&#8217;s it! This saved us heaps of bandwidth and resulted in a more responsive web application throughout. </p>
<p>Enjoy!</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-100zakladok">
			<a href="http://www.100zakladok.ru/save/?bmurl=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;bmtitle=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Add this to 100 bookmarks">Add this to 100 bookmarks</a>
		</li>
		<li class="shr-bebo">
			<a href="http://www.bebo.com/c/share?Url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;Title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Share this on Bebo">Share this on Bebo</a>
		</li>
		<li class="shr-bitacoras">
			<a href="http://bitacoras.com/anotaciones/http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Submit this to Bitacoras">Submit this to Bitacoras</a>
		</li>
		<li class="shr-blinklist">
			<a href="http://www.blinklist.com/index.php?Action=Blink/addblink.php&amp;Url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;Title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Share this on Blinklist">Share this on Blinklist</a>
		</li>
		<li class="shr-blogengage">
			<a href="http://www.blogengage.com/submit.php?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Engage with this article!">Engage with this article!</a>
		</li>
		<li class="shr-blogger">
			<a href="http://www.blogger.com/blog_this.pyra?t&amp;u=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;n=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;pli=1" rel="nofollow" class="external" title="Blog this on Blogger">Blog this on Blogger</a>
		</li>
		<li class="shr-blogmarks">
			<a href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Mark this on BlogMarks">Mark this on BlogMarks</a>
		</li>
		<li class="shr-bobrdobr">
			<a href="http://bobrdobr.ru/addext.html?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Share this on BobrDobr">Share this on BobrDobr</a>
		</li>
		<li class="shr-bonzobox">
			<a href="http://bonzobox.com/toolbar/add?pop=1&amp;u=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;t=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;d=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Add this to BonzoBox">Add this to BonzoBox</a>
		</li>
		<li class="shr-boxnet">
			<a href="https://www.box.net/api/1.0/import?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;name=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;description=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag&amp;import_as=link" rel="nofollow" class="external" title="Add this link to Box.net">Add this link to Box.net</a>
		</li>
		<li class="shr-buzzster">
			<a href="javascript:var%20s=document.createElement('script');s.src='http://www.buzzster.com/javascripts/bzz_adv.js';s.type='text/javascript';void(document.getElementsByTagName('head')[0].appendChild(s));" rel="nofollow" title="Share this via Buzzster!">Share this via Buzzster!</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-current">
			<a href="http://current.com/clipper.htm?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Post this to Current">Post this to Current</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-designbump">
			<a href="http://designbump.com/submit?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;body=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Bump this on DesignBump">Bump this on DesignBump</a>
		</li>
		<li class="shr-designfloat">
			<a href="http://www.designfloat.com/submit.php?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Submit this to DesignFloat">Submit this to DesignFloat</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-diigo">
			<a href="http://www.diigo.com/post?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;desc=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Post this on Diigo">Post this on Diigo</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.dzone.com/links/add.html?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;description=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
		<li class="shr-ekudos">
			<a href="http://www.ekudos.nl/artikel/nieuw?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;desc=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Submit this to eKudos">Submit this to eKudos</a>
		</li>
		<li class="shr-evernote">
			<a href="http://www.evernote.com/clip.action?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Clip this to Evernote">Clip this to Evernote</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;t=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-faqpal">
			<a href="http://www.faqpal.com/submit?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Submit this to FAQpal">Submit this to FAQpal</a>
		</li>
		<li class="shr-friendfeed">
			<a href="http://www.friendfeed.com/share?title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;link=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Share this on FriendFeed">Share this on FriendFeed</a>
		</li>
		<li class="shr-fwisp">
			<a href="http://fwisp.com/submit?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Share this on Fwisp">Share this on Fwisp</a>
		</li>
		<li class="shr-globalgrind">
			<a href="http://globalgrind.com/submission/submit.aspx?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;type=Article&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Grind this! on Global Grind">Grind this! on Global Grind</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;body=Link: http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Email this via Gmail">Email this via Gmail</a>
		</li>
		<li class="shr-googlebookmarks">
			<a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;srcUrl=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;srcTitle=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;snippet=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-hackernews">
			<a href="http://news.ycombinator.com/submitlink?u=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;t=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a>
		</li>
		<li class="shr-hatena">
			<a href="http://b.hatena.ne.jp/add?mode=confirm&amp;url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Bookmarks this on Hatena Bookmarks">Bookmarks this on Hatena Bookmarks</a>
		</li>
		<li class="shr-hotmail">
			<a href="http://mail.live.com/?rru=compose?subject=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;body=Link: http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Email this via Hotmail">Email this via Hotmail</a>
		</li>
		<li class="shr-hyves">
			<a href="http://www.hyves.nl/profilemanage/add/tips/?name=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;text=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag+-+http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;rating=5" rel="nofollow" class="external" title="Share this on Hyves">Share this on Hyves</a>
		</li>
		<li class="shr-identica">
			<a href="http://identi.ca//index.php?action=newnotice&amp;status_textarea=Reading:+&quot;Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&quot;+-+from+http://b2l.me/buuvz" rel="nofollow" class="external" title="Post this to Identica">Post this to Identica</a>
		</li>
		<li class="shr-izeby">
			<a href="http://izeby.com/submit.php?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Add this to Izeby">Add this to Izeby</a>
		</li>
		<li class="shr-jumptags">
			<a href="http://www.jumptags.com/add/?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Submit this link to JumpTags">Submit this link to JumpTags</a>
		</li>
		<li class="shr-kaevur">
			<a href="http://kaevur.com/submit.php?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Share this on Kaevur">Share this on Kaevur</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;summary=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag&amp;source=Experiment, Adopt, Achieve" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-mail">
			<a href="mailto:?subject=%22Solution%20to%20Combine%2C%20Minify%20and%20GZIP%20your%20JS%20and%20CSS%22&amp;body=Link: http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a>
		</li>
		<li class="shr-memoryru">
			<a href="http://memori.ru/link/?sm=1&amp;u_data[url]=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;u_data[name]=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Add this to Memory.ru">Add this to Memory.ru</a>
		</li>
		<li class="shr-meneame">
			<a href="http://meneame.net/submit.php?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Submit this to Meneame">Submit this to Meneame</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;bm_description=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
		<li class="shr-mixx">
			<a href="http://www.mixx.com/submit?page_url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Share this on Mixx">Share this on Mixx</a>
		</li>
		<li class="shr-moemesto">
			<a href="http://moemesto.ru/post.php?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Add this to MyPlace">Add this to MyPlace</a>
		</li>
		<li class="shr-mylinkvault">
			<a href="http://www.mylinkvault.com/link-page.php?u=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;n=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Store this link on MyLinkVault">Store this link on MyLinkVault</a>
		</li>
		<li class="shr-myspace">
			<a href="http://www.myspace.com/Modules/PostTo/Pages/?u=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;t=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Post this to MySpace">Post this to MySpace</a>
		</li>
		<li class="shr-n4g">
			<a href="http://www.n4g.com/tips.aspx?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Submit tip to N4G">Submit tip to N4G</a>
		</li>
		<li class="shr-netvibes">
			<a href="http://www.netvibes.com/share?title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Submit this to Netvibes">Submit this to Netvibes</a>
		</li>
		<li class="shr-netvouz">
			<a href="http://www.netvouz.com/action/submitBookmark?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;popup=no" rel="nofollow" class="external" title="Submit this to Netvouz">Submit this to Netvouz</a>
		</li>
		<li class="shr-newsvine">
			<a href="http://www.newsvine.com/_tools/seed&amp;save?u=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;h=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Seed this on Newsvine">Seed this on Newsvine</a>
		</li>
		<li class="shr-ning">
			<a href="http://bookmarks.ning.com/addItem.php?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;T=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Add this to Ning">Add this to Ning</a>
		</li>
		<li class="shr-nujij">
			<a href="http://nujij.nl/jij.lynkx?t=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;u=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;b=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Submit this to NUjij">Submit this to NUjij</a>
		</li>
		<li class="shr-oknotizie">
			<a href="http://oknotizie.virgilio.it/post?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Share this on OkNotizie">Share this on OkNotizie</a>
		</li>
		<li class="shr-orkut">
			<a href="http://promote.orkut.com/preview?nt=orkut.com&amp;tt=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;du=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;cn=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Promote this on Orkut">Promote this on Orkut</a>
		</li>
		<li class="shr-pfbuzz">
			<a href="http://pfbuzz.com/submit?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Share this on PFBuzz">Share this on PFBuzz</a>
		</li>
		<li class="shr-pingfm">
			<a href="http://ping.fm/ref/?link=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;body=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Ping this on Ping.fm">Ping this on Ping.fm</a>
		</li>
		<li class="shr-plaxo">
			<a href="http://www.plaxo.com/?share_link=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Share this on Plaxo">Share this on Plaxo</a>
		</li>
		<li class="shr-plurk">
			<a href="http://www.plurk.com/m?content=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS+-+http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;qualifier=shares" rel="nofollow" class="external" title="Share this on Plurk">Share this on Plurk</a>
		</li>
		<li class="shr-posterous">
			<a href="http://posterous.com/share?linkto=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;selection=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Post this to Posterous">Post this to Posterous</a>
		</li>
		<li class="shr-printfriendly">
			<a href="http://www.printfriendly.com/print?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Send this page to Print Friendly">Send this page to Print Friendly</a>
		</li>
		<li class="shr-propeller">
			<a href="http://www.propeller.com/submit/?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Submit this story to Propeller">Submit this story to Propeller</a>
		</li>
		<li class="shr-pusha">
			<a href="http://www.pusha.se/posta?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Push this on Pusha">Push this on Pusha</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-scriptstyle">
			<a href="http://scriptandstyle.com/submit?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Submit this to Script &amp; Style">Submit this to Script &amp; Style</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://slashdot.org/bookmark.pl?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-sphinn">
			<a href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Sphinn this on Sphinn">Sphinn this on Sphinn</a>
		</li>
		<li class="shr-springpad">
			<a href="http://springpadit.com/clip.action?body=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag&amp;url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;format=microclip&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;isSelected=true" rel="nofollow" class="external" title="Spring this on SpringPad">Spring this on SpringPad</a>
		</li>
		<li class="shr-squidoo">
			<a href="http://www.squidoo.com/lensmaster/bookmark?http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Add to a lense on Squidoo">Add to a lense on Squidoo</a>
		</li>
		<li class="shr-strands">
			<a href="http://www.strands.com/tools/share/webpage?title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Submit this to Strands">Submit this to Strands</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-stumpedia">
			<a href="http://www.stumpedia.com/submit?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Add this to Stumpedia">Add this to Stumpedia</a>
		</li>
		<li class="shr-techmeme">
			<a href="http://twitter.com/home/?status=Tip+@Techmeme+http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/+&quot;Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&quot;&amp;source=shareaholic" rel="nofollow" class="external" title="Tip this to TechMeme">Tip this to TechMeme</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-tipd">
			<a href="http://tipd.com/submit.php?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Share this on Tipd">Share this on Tipd</a>
		</li>
		<li class="shr-tomuse">
			<a href="mailto:tips@tomuse.com?subject=New+tip+submitted+via+the+SexyBookmarks+Plugin%21&amp;body=Link: http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/ %0D%0A%0D%0A I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Suggest this article to ToMuse">Suggest this article to ToMuse</a>
		</li>
		<li class="shr-tumblr">
			<a href="http://www.tumblr.com/share?v=3&amp;u=http%3A%2F%2Fwww.markgibaud.com%2Fblog%2F2009%2F06%2F26%2Fsolution-to-combine-minify-and-gzip-your-js-and-css%2F&amp;t=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Share this on Tumblr">Share this on Tumblr</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS+-+http://b2l.me/buuvz&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-twittley">
			<a href="http://twittley.com/submit/?title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;url=http%3A%2F%2Fwww.markgibaud.com%2Fblog%2F2009%2F06%2F26%2Fsolution-to-combine-minify-and-gzip-your-js-and-css%2F&amp;desc=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag&amp;pcat=&amp;tags=" rel="nofollow" class="external" title="Submit this to Twittley">Submit this to Twittley</a>
		</li>
		<li class="shr-viadeo">
			<a href="http://www.viadeo.com/shareit/share/?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;urlaffiliate=31138" rel="nofollow" class="external" title="Share this on Viadeo">Share this on Viadeo</a>
		</li>
		<li class="shr-virb">
			<a href="http://virb.com/share?external&amp;v=2&amp;url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Share this on Virb">Share this on Virb</a>
		</li>
		<li class="shr-webblend">
			<a href="http://thewebblend.com/submit?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;body=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Blend this!">Blend this!</a>
		</li>
		<li class="shr-wikio">
			<a href="http://www.wikio.com/sharethis?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Share this on Wikio">Share this on Wikio</a>
		</li>
		<li class="shr-wykop">
			<a href="http://www.wykop.pl/dodaj?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Add this to Wykop!">Add this to Wykop!</a>
		</li>
		<li class="shr-xerpi">
			<a href="http://www.xerpi.com/block/add_link_from_extension?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;title=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Save this to Xerpi">Save this to Xerpi</a>
		</li>
		<li class="shr-yahoobuzz">
			<a href="http://buzz.yahoo.com/submit/?submitUrl=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;submitHeadline=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;submitSummary=I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag&amp;submitCategory=science&amp;submitAssetType=text" rel="nofollow" class="external" title="Buzz up!">Buzz up!</a>
		</li>
		<li class="shr-yahoomail">
			<a href="http://compose.mail.yahoo.com/?Subject=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS&amp;body=Link: http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A I%27ve%20recently%20completed%20a%20fair%20bit%20of%20research%20and%20consequent%20development%20at%20work%20that%20goes%20quite%20far%20to%20improve%20the%20performance%20of%20our%20web%20application%27s%20front-end.%20I%20thought%20I%27d%20share%20the%20basic%20solution%20here.%20%20The%20first%20obvious%20thing%20to%20do%20is%20benchmark%20your%20site%20using%20Yahoo%27s%20YSlow%20and%20Google%27s%20Pag" rel="nofollow" class="external" title="Email this via Yahoo! Mail">Email this via Yahoo! Mail</a>
		</li>
		<li class="shr-yandex">
			<a href="http://zakladki.yandex.ru/userarea/links/addfromfav.asp?bAddLink_x=1&amp;lurl=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/&amp;lname=Solution+to+Combine%2C+Minify+and+GZIP+your+JS+and+CSS" rel="nofollow" class="external" title="Add this to Yandex.Bookmarks">Add this to Yandex.Bookmarks</a>
		</li>
		<li class="shr-zabox">
			<a href="http://www.zabox.net/submit.php?url=http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/" rel="nofollow" class="external" title="Box this on Zabox">Box this on Zabox</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.markgibaud.com/blog/2009/06/26/solution-to-combine-minify-and-gzip-your-js-and-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
