<?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>devbox@COMPUTEC &#187; caching</title>
	<atom:link href="http://devbox.computec.de/tag/caching/feed/" rel="self" type="application/rss+xml" />
	<link>http://devbox.computec.de</link>
	<description>The Computec development blog</description>
	<lastBuildDate>Tue, 24 Aug 2010 08:45:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='devbox.computec.de' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Using client-side caching in ColdFusion</title>
		<link>http://devbox.computec.de/2010/01/using-client-side-caching-in-coldfusion/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=using-client-side-caching-in-coldfusion</link>
		<comments>http://devbox.computec.de/2010/01/using-client-side-caching-in-coldfusion/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 14:02:43 +0000</pubDate>
		<dc:creator>Markus Wollny</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[304]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[Cache-Control]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[cfheader]]></category>
		<category><![CDATA[cfml]]></category>
		<category><![CDATA[Expires]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[If-Modified-Since]]></category>
		<category><![CDATA[Last-Modified]]></category>

		<guid isPermaLink="false">http://devbox.computec.de/?p=326</guid>
		<description><![CDATA[The cheapest request you can think of is the one where you actually don't need to provide an answer - because you have answered it before and you know that facts haven't changed. Now server-side caching is one approach, but in that case you just save yourselves the actual computing, you still have to retrieve [...]]]></description>
			<content:encoded><![CDATA[<p>The cheapest request you can think of is the one where you actually don't need to provide an answer - because you have answered it before and you know that facts haven't changed. Now server-side caching is one approach, but in that case you just save yourselves the actual computing, you still have to retrieve your answer from the cache and deliver it to the client. Client-side caching is much more elegant. <span id="more-326"></span><br />
In this case we need to deal with the modified-headers. A HTTP reply may carry a header that tells the client the time the requested resource was last modified. The client may then decide to send this same info along in the headers with its next request, allowing the server to look up if the resource has a new modified date and only deliver a full reply, if there's actually something new to tell - otherwise a simple "Not Modified" in the reply-header will be sufficient to tell the client that he can use the answer he still has in his cache.</p>
<p>Let's look at the headers for the first request to a resource <em>http://your.host.com/some/path/browsercaching/foo.cfm</em>. The client request has nothing unusual:</p>
<pre>
GET /spielwiese/wollny/browsercaching/foo.cfm HTTP/1.1
Host: bluebox.computec.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: some=value; someother=othervalue;
Pragma: no-cache
Cache-Control: no-cache
</pre>
<p>The reply however carries three headers that tell the client a) when that resource was last modified (<em>Last-Modified</em>) and how long it should possibly be cached (<em>Cache-Control</em>, <em>Expires</em>):</p>
<pre>
HTTP/1.x 200 OK
Date: Thu, 21 Jan 2010 13:31:21 GMT
Server: Apache/2.2.3 (Debian) PHP/5.2.0-9~computec+1 proxy_html/2.5 mod_ssl/2.2.3 OpenSSL/0.9.8c JRun/4.0
Last-Modified: Thu, 21 Jan 2010 13:36:13 GMT
Expires: Sat, 20 Feb 2010 13:31:21 GMT
Cache-Control: max-age=2592000
Vary: Accept-Encoding
Content-Encoding: gzip
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
</pre>
<p>Now if the client supports caching, it will include an <em>If-Modified-Since</em> header in its next request to the same resource:</p>
<pre>
GET /spielwiese/wollny/browsercaching/foo.cfm HTTP/1.1
Host: bluebox.computec.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: some=value; someother=othervalue;
If-Modified-Since: Thu, 21 Jan 2010 13:36:13 GMT
Cache-Control: max-age=0
</pre>
<p>Now all we'd need to do is read this header, determine the current last modified date for the resource, compare those two and if there's nothing new, we simply reply with a 304 'Not Modified" status and skip the rest of the page processing, so there's no reply payload. Our reply header would look like this:</p>
<pre>
HTTP/1.x 304 Not Modified
Date: Thu, 21 Jan 2010 13:31:26 GMT
Server: Apache/2.2.3 (Debian) PHP/5.2.0-9~computec+1 proxy_html/2.5 mod_ssl/2.2.3 OpenSSL/0.9.8c JRun/4.0
Connection: close
Expires: Sat, 20 Feb 2010 13:31:26 GMT
Cache-Control: max-age=2592000
Vary: Accept-Encoding
</pre>
<p>You can use this customtag to send and check the appropriate headers and control the actual delivery of the reply (store as browsercaching.cfm):</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfparam</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;dtLastModified&quot;</span> <span style="color: #0000FF;">type</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;date&quot;</span> <span style="color: #0000FF;">default</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#now()#&quot;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfparam</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;cacheTimeSeconds&quot;</span> <span style="color: #0000FF;">type</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;integer&quot;</span> <span style="color: #0000FF;">default</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;2592000&quot;</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> variables.strPageModified <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">GetHttpTimeString</span><span style="color: #0000FF;">&#40;</span>ATTRIBUTES.dtLastModified<span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #808080; font-style: italic;">&lt;!--- now set default expires and cache control headers ---&gt;</span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfheader</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;Expires&quot;</span> <span style="color: #0000FF;">value</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#GetHttpTimeString(DateAdd('s', ATTRIBUTES.cacheTimeSeconds, Now()))#&quot;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfheader</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;Cache-Control&quot;</span> <span style="color: #0000FF;">value</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;max-age=#ATTRIBUTES.cacheTimeSeconds#&quot;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cftry</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #808080; font-style: italic;">&lt;!--- if there is an If-Modified-Since header in the request and the time is the same as the last modified date, send a 304 and abort---&gt;</span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfif</span> <span style="color: #0000FF;">StructKeyExists</span><span style="color: #0000FF;">&#40;</span><span style="color: #0000FF;">GetHttpRequestData</span><span style="color: #0000FF;">&#40;</span><span style="color: #0000FF;">&#41;</span>.<span style="color: #0000FF;">headers</span>, <span style="color: #009900;">&quot;If-Modified-Since&quot;</span><span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
  <span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> variables.ifmodDate <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">ParseDateTime</span><span style="color: #0000FF;">&#40;</span><span style="color: #0000FF;">GetHttpRequestData</span><span style="color: #0000FF;">&#40;</span><span style="color: #0000FF;">&#41;</span>.<span style="color: #0000FF;">headers</span><span style="color: #0000FF;">&#91;</span><span style="color: #009900;">&quot;If-Modified-Since&quot;</span><span style="color: #0000FF;">&#93;</span><span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
  <span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfif</span> <span style="color: #0000FF;">ParseDateTime</span><span style="color: #0000FF;">&#40;</span><span style="color: #0000FF;">GetHttpTimeString</span><span style="color: #0000FF;">&#40;</span>ATTRIBUTES.dtLastModified<span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&#41;</span> <span style="color: #0000FF;">eq</span> variables.ifmodDate<span style="color: #0000FF;">&gt;</span></span>
  <span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfheader</span> statuscode<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;304&quot;</span> statustext<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;Not Modified&quot;</span><span style="color: #0000FF;">&gt;</span></span> 
  <span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfabort</span><span style="color: #0000FF;">&gt;</span></span>
 <span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfif</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfif</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfcatch</span> <span style="color: #0000FF;">type</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;any&quot;</span><span style="color: #0000FF;">&gt;</span></span><span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfcatch</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cftry</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #808080; font-style: italic;">&lt;!--- send the Last-Modified header---&gt;</span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfheader</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;Last-Modified&quot;</span> <span style="color: #0000FF;">value</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#variables.strPageModified#&quot;</span><span style="color: #0000FF;">&gt;</span></span></pre></div></div>

<p>In your code you'd simply have to somehow determine what's your last modified date (in this simple case I use the modified date of the CFML template itself) and pass that along with the cache time in seconds to the <em>cf_browsercaching</em>-Customtag like this (<em>foo.cfm</em>):</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> variables.structThisFileInfo <span style="color: #0000FF;">=</span> GetFileInfo<span style="color: #0000FF;">&#40;</span>CGI.PATH_TRANSLATED<span style="color: #0000FF;">&#41;</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span>cf_browsercaching dtLastModified<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;#variables.structThisFileInfo.lastmodified#&quot;</span> cacheTimeSeconds<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;2592000&quot;</span><span style="color: #0000FF;">&gt;</span></span>
Here you'd actually start with computing and outputting your reply if the request gets this far.</pre></div></div>




Share and Enjoy:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;partner=sociable" title="Print"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;title=Using%20client-side%20caching%20in%20ColdFusion&amp;bodytext=The%20cheapest%20request%20you%20can%20think%20of%20is%20the%20one%20where%20you%20actually%20don%27t%20need%20to%20provide%20an%20answer%20-%20because%20you%20have%20answered%20it%20before%20and%20you%20know%20that%20facts%20haven%27t%20changed.%20Now%20server-side%20caching%20is%20one%20approach%2C%20but%20in%20that%20case%20you%20just%20save" title="Digg"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;title=Using%20client-side%20caching%20in%20ColdFusion&amp;notes=The%20cheapest%20request%20you%20can%20think%20of%20is%20the%20one%20where%20you%20actually%20don%27t%20need%20to%20provide%20an%20answer%20-%20because%20you%20have%20answered%20it%20before%20and%20you%20know%20that%20facts%20haven%27t%20changed.%20Now%20server-side%20caching%20is%20one%20approach%2C%20but%20in%20that%20case%20you%20just%20save" title="del.icio.us"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;t=Using%20client-side%20caching%20in%20ColdFusion" title="Facebook"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;title=Using%20client-side%20caching%20in%20ColdFusion&amp;annotation=The%20cheapest%20request%20you%20can%20think%20of%20is%20the%20one%20where%20you%20actually%20don%27t%20need%20to%20provide%20an%20answer%20-%20because%20you%20have%20answered%20it%20before%20and%20you%20know%20that%20facts%20haven%27t%20changed.%20Now%20server-side%20caching%20is%20one%20approach%2C%20but%20in%20that%20case%20you%20just%20save" title="Google Bookmarks"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;title=Using%20client-side%20caching%20in%20ColdFusion&amp;source=devbox%40COMPUTEC+The+Computec+development+blog&amp;summary=The%20cheapest%20request%20you%20can%20think%20of%20is%20the%20one%20where%20you%20actually%20don%27t%20need%20to%20provide%20an%20answer%20-%20because%20you%20have%20answered%20it%20before%20and%20you%20know%20that%20facts%20haven%27t%20changed.%20Now%20server-side%20caching%20is%20one%20approach%2C%20but%20in%20that%20case%20you%20just%20save" title="LinkedIn"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.mister-wong.de/addurl/?bm_url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;bm_description=Using%20client-side%20caching%20in%20ColdFusion&amp;plugin=soc" title="MisterWong.DE"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/misterwong.png" title="MisterWong.DE" alt="MisterWong.DE" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.netvibes.com/share?title=Using%20client-side%20caching%20in%20ColdFusion&amp;url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F" title="Netvibes"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;title=Using%20client-side%20caching%20in%20ColdFusion" title="Reddit"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://slashdot.org/bookmark.pl?title=Using%20client-side%20caching%20in%20ColdFusion&amp;url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F" title="Slashdot"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;title=Using%20client-side%20caching%20in%20ColdFusion" title="StumbleUpon"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F" title="Technorati"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Using%20client-side%20caching%20in%20ColdFusion%20-%20http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F" title="Twitter"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://bookmarks.yahoo.com/toolbar/savebm?u=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;t=Using%20client-side%20caching%20in%20ColdFusion&opener=bm&amp;ei=UTF-8&amp;d=The%20cheapest%20request%20you%20can%20think%20of%20is%20the%20one%20where%20you%20actually%20don%27t%20need%20to%20provide%20an%20answer%20-%20because%20you%20have%20answered%20it%20before%20and%20you%20know%20that%20facts%20haven%27t%20changed.%20Now%20server-side%20caching%20is%20one%20approach%2C%20but%20in%20that%20case%20you%20just%20save" title="Yahoo! Bookmarks"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/yahoomyweb.png" title="Yahoo! Bookmarks" alt="Yahoo! Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://linkarena.com/bookmarks/addlink/?url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;title=Using%20client-side%20caching%20in%20ColdFusion" title="LinkArena"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/linkarena.png" title="LinkArena" alt="LinkArena" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;title=Using%20client-side%20caching%20in%20ColdFusion" title="Live"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;t=Using%20client-side%20caching%20in%20ColdFusion" title="MySpace"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://buzz.yahoo.com/submit/?submitUrl=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;submitHeadline=Using%20client-side%20caching%20in%20ColdFusion&amp;submitSummary=The%20cheapest%20request%20you%20can%20think%20of%20is%20the%20one%20where%20you%20actually%20don%27t%20need%20to%20provide%20an%20answer%20-%20because%20you%20have%20answered%20it%20before%20and%20you%20know%20that%20facts%20haven%27t%20changed.%20Now%20server-side%20caching%20is%20one%20approach%2C%20but%20in%20that%20case%20you%20just%20save&amp;submitCategory=science&amp;submitAssetType=text" title="Yahoo! Buzz"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/yahoobuzz.png" title="Yahoo! Buzz" alt="Yahoo! Buzz" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://yigg.de/neu?exturl=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;exttitle=Using%20client-side%20caching%20in%20ColdFusion" title="Yigg"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/yiggit.png" title="Yigg" alt="Yigg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://blogmarks.net/my/new.php?mini=1&amp;simple=1&amp;url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;title=Using%20client-side%20caching%20in%20ColdFusion" title="blogmarks"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/blogmarks.png" title="blogmarks" alt="blogmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://faves.com/Authoring.aspx?u=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;title=Using%20client-side%20caching%20in%20ColdFusion" title="Faves"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/bluedot.png" title="Faves" alt="Faves" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.friendfeed.com/share?title=Using%20client-side%20caching%20in%20ColdFusion&amp;link=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F" title="FriendFeed"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.mister-wong.com/addurl/?bm_url=http%3A%2F%2Fdevbox.computec.de%2F2010%2F01%2Fusing-client-side-caching-in-coldfusion%2F&amp;bm_description=Using%20client-side%20caching%20in%20ColdFusion&amp;plugin=soc" title="MisterWong"><img src="http://devbox.computec.de/wp-content/plugins/sociable/images/misterwong.png" title="MisterWong" alt="MisterWong" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://devbox.computec.de/2010/01/using-client-side-caching-in-coldfusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
