<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>asp dot net compression</title>
	<atom:link href="http://aspdotnetcompr.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://aspdotnetcompr.wordpress.com</link>
	<description>Implementing ASP Dot Net compression</description>
	<lastBuildDate>Tue, 08 Dec 2009 12:37:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='aspdotnetcompr.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>asp dot net compression</title>
		<link>http://aspdotnetcompr.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://aspdotnetcompr.wordpress.com/osd.xml" title="asp dot net compression" />
	<atom:link rel='hub' href='http://aspdotnetcompr.wordpress.com/?pushpress=hub'/>
		<item>
		<title>ASP Dot Net compression for static content</title>
		<link>http://aspdotnetcompr.wordpress.com/2009/12/08/asp-dot-net-compression-for-static-content/</link>
		<comments>http://aspdotnetcompr.wordpress.com/2009/12/08/asp-dot-net-compression-for-static-content/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 12:37:48 +0000</pubDate>
		<dc:creator>aspdotnetcompr</dc:creator>
				<category><![CDATA[asp dot net compression]]></category>

		<guid isPermaLink="false">http://aspdotnetcompr.wordpress.com/2009/12/08/asp-dot-net-compression-for-static-content/</guid>
		<description><![CDATA[In many cases HTTP GZip compression means the difference between waiting 10 seconds for a web page versus 2 seconds. These days as users expect near instant loading of web pages, if the pages on your website take a while to load this could very well mean the difference between a visit and a bounce [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aspdotnetcompr.wordpress.com&amp;blog=10861218&amp;post=5&amp;subd=aspdotnetcompr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In many cases HTTP GZip compression means the difference between waiting 10 seconds for a web page versus 2 seconds. These days as users expect near instant loading of web pages, if the pages on your website take a while to load this could very well mean the difference between a visit and a bounce in your stats. If your running a PHP web application such as wordpress or say joomla for instance chances are that your hosting company is already providing this functionality for you. As a matter of fact mod deflate, which is the http compressor for apache has become almost common place in web server installations.</p>
<p>However those of us running ASP Dot Net web applications like say for example Rainbow Portal or perhaps a custom web application, tend to be less fortunate. Most windows hosting providers do not provide GZip compression functionality by default. In case you&#8217;re running your own web server then then you could read all the technical documents and attempt to enable IIS output compression as I once did. However much to my disappointment I found that the out of the box compression levels provided by IIS6 was rather average as compared to standard Apache mod deflate.<br />
In this case what other options do we have?</p>
<p>Fortunately for us the Dot Net framework provides the HTTP handler and HTTP module constructs. Using these it turns out that implementing high GZIP compression with barely noticeable CPU overhead is an almost trivial task. All we need is a basic http handler implementation that checks for a AcceptEncoding = &#8220;gzip&#8221; or AcceptEncoding = ”deflate” request header. If this header is present then all it needs to do is to attach a GZIP compressed IO stream as a filter for the active response.</p>
<p>At this point however writing an efficient, high compression GZIP IO stream ends looking like a massive task. Fortunately for us the ICSharpCode project provides a high performance, high compression GZIP IO stream in their SharpZipLib dll. The SharpZipLib project is an opensource GPL library which as an exception can also be feely used in closed source commercial applications.<br />
You can find a free implementation along with complete instructions, source code and compiled executables at the following URL.
<p><a href="http://www.tcwicks.com/code-samples/increase-asp-dot-net-website-loading-speed-using-web-gzip-compression">asp dot net compression</a></p>
<p><a href="http://www.tcwicks.com/code-samples/increase-asp-dot-net-website-loading-speed-using-web-gzip-compression">dot net compression</a></p>
<p><a href="http://aspdotnetcompr.wetpaint.com/">dot net compression</a></p>
<p>You can find a free implementation, source code, complete instructions and compiled executables at the following URL.<br />
<a href="http://www.tcwicks.com/code-samples/increase-asp-dot-net-website-loading-speed-using-web-gzip-compression">asp dot net compression</a>.<br />
Good luck and all the best with your efforts.<br />
click here for more <a href="http://www.tcwicks.com/">asp dot net development resources</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aspdotnetcompr.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aspdotnetcompr.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aspdotnetcompr.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aspdotnetcompr.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aspdotnetcompr.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aspdotnetcompr.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aspdotnetcompr.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aspdotnetcompr.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aspdotnetcompr.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aspdotnetcompr.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aspdotnetcompr.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aspdotnetcompr.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aspdotnetcompr.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aspdotnetcompr.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aspdotnetcompr.wordpress.com&amp;blog=10861218&amp;post=5&amp;subd=aspdotnetcompr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aspdotnetcompr.wordpress.com/2009/12/08/asp-dot-net-compression-for-static-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dae7ff7a2d33e0bd43ace413b605292?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aspdotnetcompr</media:title>
		</media:content>
	</item>
		<item>
		<title>ASP Dot Net compression using http handlers</title>
		<link>http://aspdotnetcompr.wordpress.com/2009/12/08/asp-dot-net-compression-using-http-handlers/</link>
		<comments>http://aspdotnetcompr.wordpress.com/2009/12/08/asp-dot-net-compression-using-http-handlers/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 12:37:06 +0000</pubDate>
		<dc:creator>aspdotnetcompr</dc:creator>
				<category><![CDATA[asp dot net compression]]></category>

		<guid isPermaLink="false">http://aspdotnetcompr.wordpress.com/2009/12/08/asp-dot-net-compression-using-http-handlers/</guid>
		<description><![CDATA[Implementing an output filter for gzip compression for custom asp.net applications may at first seem like a daunting task. However in reality this is far simpler than it looks. The ideal mechanism for achieving this is by means of an HTTP handler. HTTP handlers can be attached at will into the processing pipeline either for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aspdotnetcompr.wordpress.com&amp;blog=10861218&amp;post=4&amp;subd=aspdotnetcompr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Implementing an output filter for gzip compression for custom asp.net applications may at first seem like a daunting task. However in reality this is far simpler than it looks. The ideal mechanism for achieving this is by means of an HTTP handler. HTTP handlers can be attached at will into the processing pipeline either for an entire dot net web application, a subfolder of one, or even just for a single page of an application. This fine grain control can by specified by the http handlers section of the web.config file.</p>
<p>The http handler implementation is comprised of two parts. First we must check if the web browser supports GZIP compression. Secondly if gzip compression is supported then we need to attach a gzip compressed IO stream as an output filter.</p>
<p>Checking if the web browser supports GZIP compression is done by inspecting the web request headers to see if it contains an AcceptEncoding = &#8220;gzip&#8221; or AcceptEncoding = ”deflate” header. If this header is present this means that the browser is capable of receiving gzip compressed data.</p>
<p>If compression is supported then we proceed to attach a GZIP compressed IO stream. Although the dot net framework itself provides GZIP compressed IO stream classes these are not as performant as we would like them to be. However we do not need to write our own either. Fortunately for us the ICSharpCode project provides a high performance, high compression implementation in their SharpZipLib dll. This is an open source component which can be used freely in both opensource as well as closed source commercial projects. At this stage all we need to do is to create an instance of the GZIP compression IO stream class and set it as an output filter for the active response object. Beyond this all else is taken care of by IIS itself.
<p><a href="http://www.tcwicks.com/code-samples/increase-asp-dot-net-website-loading-speed-using-web-gzip-compression">asp dot net compression</a></p>
<p><a href="http://www.tcwicks.com/code-samples/increase-asp-dot-net-website-loading-speed-using-web-gzip-compression">programming .net</a></p>
<p><a href="http://aspdotnetcompr.wetpaint.com/">programming .net</a></p>
<p>The link below will take you to a free implementation with source code, installation instructions, and compiled executables.<br />
<a href="http://www.tcwicks.com/code-samples/increase-asp-dot-net-website-loading-speed-using-web-gzip-compression">asp dot net compression</a>.<br />
click here for more <a href="http://www.tcwicks.com/">asp dot net development resources</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aspdotnetcompr.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aspdotnetcompr.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aspdotnetcompr.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aspdotnetcompr.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aspdotnetcompr.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aspdotnetcompr.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aspdotnetcompr.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aspdotnetcompr.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aspdotnetcompr.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aspdotnetcompr.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aspdotnetcompr.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aspdotnetcompr.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aspdotnetcompr.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aspdotnetcompr.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aspdotnetcompr.wordpress.com&amp;blog=10861218&amp;post=4&amp;subd=aspdotnetcompr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aspdotnetcompr.wordpress.com/2009/12/08/asp-dot-net-compression-using-http-handlers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dae7ff7a2d33e0bd43ace413b605292?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aspdotnetcompr</media:title>
		</media:content>
	</item>
		<item>
		<title>Implementing ASP Dot Net compression</title>
		<link>http://aspdotnetcompr.wordpress.com/2009/12/08/implementing-asp-dot-net-compression/</link>
		<comments>http://aspdotnetcompr.wordpress.com/2009/12/08/implementing-asp-dot-net-compression/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 12:36:21 +0000</pubDate>
		<dc:creator>aspdotnetcompr</dc:creator>
				<category><![CDATA[asp dot net compression]]></category>

		<guid isPermaLink="false">http://aspdotnetcompr.wordpress.com/2009/12/08/implementing-asp-dot-net-compression/</guid>
		<description><![CDATA[http gzip compression is commonplace in most apache / php websites. As a matter of fact most linux shared hosting providers will provide this functionality by default. Unfortunately many custom websites developed in Dot Net either do not implement compression while a few attempt to use basic compression functionality provided by IIS. Unfortunately in my [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aspdotnetcompr.wordpress.com&amp;blog=10861218&amp;post=3&amp;subd=aspdotnetcompr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>http gzip compression is commonplace in most apache / php websites. As a matter of fact most linux shared hosting providers will provide this functionality by default. Unfortunately many custom websites developed in Dot Net either do not implement compression while a few attempt to use basic compression functionality provided by IIS. Unfortunately in my opinion http compression is extremely hard to enable on IIS 6. Even when I&#8217;ve succeeded in enabling this functionality the level of compression that I saw was below average as compared to mod deflate on apache implementations.<br />
So what are the pros of http compression ?<br />
1) Compression will reduce your overall bandwidth usage<br />
2) Since html is highly compressible web pages are delivered to the browser in a fraction of the time.<br />
In that case what are the cons of http compression ?<br />
1) Increased CPU usage. However it is important to note that in most cases the increased cpu usage is relatively negligible in terms of the overall cpu usage.<br />
Fortunately the solution is not all that complex to implement. ASP Dot Net provides a two mechanisms for attaching your own code into the rendering pipeline. Specifically the HTTP module and the HTTP handler. Of these two HTTP handlers are easier to implement than http modules. Once implemented the http handler simply has to attach a GZIP compressed IO stream as an output filter. The only gotcha here is that one must first check if the specific browser requesting the page has indicated that it can support http compression before attaching the output filter.<br />
Checking if the web browser supports GZIP compression is done verifying if AcceptEncoding = &#8220;gzip&#8221; or AcceptEncoding = ”deflate” header are present. The presense of this header indicates that the browser is capable of receiving gzip compressed data and we can freely compress the http output by adding our filter.
<p><a href="http://www.tcwicks.com/code-samples/increase-asp-dot-net-website-loading-speed-using-web-gzip-compression">asp dot net compression</a></p>
<p><a href="http://www.tcwicks.com/code-samples/increase-asp-dot-net-website-loading-speed-using-web-gzip-compression">dot net</a></p>
<p><a href="http://aspdotnetcompr.wetpaint.com/">dot net</a></p>
<p>You can find a free implementation, source code, complete instructions and compiled executables at the following URL.<br />
<a href="http://www.tcwicks.com/code-samples/increase-asp-dot-net-website-loading-speed-using-web-gzip-compression">asp dot net compression</a>.<br />
Good luck and all the best with your efforts.<br />
click here for more <a href="http://www.tcwicks.com/">asp dot net development resources</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aspdotnetcompr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aspdotnetcompr.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aspdotnetcompr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aspdotnetcompr.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aspdotnetcompr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aspdotnetcompr.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aspdotnetcompr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aspdotnetcompr.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aspdotnetcompr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aspdotnetcompr.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aspdotnetcompr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aspdotnetcompr.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aspdotnetcompr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aspdotnetcompr.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aspdotnetcompr.wordpress.com&amp;blog=10861218&amp;post=3&amp;subd=aspdotnetcompr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aspdotnetcompr.wordpress.com/2009/12/08/implementing-asp-dot-net-compression/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dae7ff7a2d33e0bd43ace413b605292?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aspdotnetcompr</media:title>
		</media:content>
	</item>
		<item>
		<title>Hello world!</title>
		<link>http://aspdotnetcompr.wordpress.com/2009/12/08/hello-world/</link>
		<comments>http://aspdotnetcompr.wordpress.com/2009/12/08/hello-world/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 12:21:23 +0000</pubDate>
		<dc:creator>aspdotnetcompr</dc:creator>
				<category><![CDATA[asp dot net compression]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aspdotnetcompr.wordpress.com&amp;blog=10861218&amp;post=1&amp;subd=aspdotnetcompr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome to <a href="http://wordpress.com/">WordPress.com</a>. This is your first post. Edit or delete it and start blogging!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aspdotnetcompr.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aspdotnetcompr.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aspdotnetcompr.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aspdotnetcompr.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aspdotnetcompr.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aspdotnetcompr.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aspdotnetcompr.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aspdotnetcompr.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aspdotnetcompr.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aspdotnetcompr.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aspdotnetcompr.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aspdotnetcompr.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aspdotnetcompr.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aspdotnetcompr.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aspdotnetcompr.wordpress.com&amp;blog=10861218&amp;post=1&amp;subd=aspdotnetcompr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aspdotnetcompr.wordpress.com/2009/12/08/hello-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dae7ff7a2d33e0bd43ace413b605292?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">aspdotnetcompr</media:title>
		</media:content>
	</item>
	</channel>
</rss>
