<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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: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>Comments on: Etag embedded within a Link</title>
	<atom:link href="http://bill.burkecentral.com/2009/11/12/etag-embedded-within-a-link/feed/" rel="self" type="application/rss+xml" />
	<link>http://bill.burkecentral.com/2009/11/12/etag-embedded-within-a-link/</link>
	<description>Software plumbing using middleware wrenches</description>
	<lastBuildDate>Mon, 23 Jan 2012 15:53:14 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: billburke</title>
		<link>http://bill.burkecentral.com/2009/11/12/etag-embedded-within-a-link/#comment-3188</link>
		<dc:creator><![CDATA[billburke]]></dc:creator>
		<pubDate>Thu, 12 Nov 2009 20:50:02 +0000</pubDate>
		<guid isPermaLink="false">http://bill.burkecentral.com/?p=318#comment-3188</guid>
		<description><![CDATA[In my example, ETag is not overloaded, IMO.  Its just the version id of the resource (the ack).  I like the solution though.  Thanks Mike.]]></description>
		<content:encoded><![CDATA[<p>In my example, ETag is not overloaded, IMO.  Its just the version id of the resource (the ack).  I like the solution though.  Thanks Mike.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Amundsen</title>
		<link>http://bill.burkecentral.com/2009/11/12/etag-embedded-within-a-link/#comment-3186</link>
		<dc:creator><![CDATA[Mike Amundsen]]></dc:creator>
		<pubDate>Thu, 12 Nov 2009 20:16:52 +0000</pubDate>
		<guid isPermaLink="false">http://bill.burkecentral.com/?p=318#comment-3186</guid>
		<description><![CDATA[The way I usually handle this is the embed the concurrency information in the URI:
&lt;code&gt;&lt;link rel=&quot;rel=acknowledgement&quot; href=&quot;/myqueue/messages/111/acknowledgement;a1s2d3f4g5h6&quot; /&lt;&lt;/code&gt;

This has the effect of creating a unique URI for the action; one that can be treated as safe by the server. The server can decide if this URI can be replayed (i.e. &quot;if you don&#039;t hear from the server, it&#039;s OK to activate this link again&quot;) or is only good for a single use (i.e. &quot;Sorry, that ack was already sent.&quot;). In either case, the server can send any response code that is appropriate, including 412, 303, etc. depending on the state of things at the time. 

The key advantage here is that clients do not need to have any special coding to handle the operation. They can use the link and let the server decide the outcome. It also does not do any overloading of the use or meaning of the existing ETag header.]]></description>
		<content:encoded><![CDATA[<p>The way I usually handle this is the embed the concurrency information in the URI:<br />
<code>&lt;link rel="rel=acknowledgement" href="/myqueue/messages/111/acknowledgement;a1s2d3f4g5h6" /&lt;</code></p>
<p>This has the effect of creating a unique URI for the action; one that can be treated as safe by the server. The server can decide if this URI can be replayed (i.e. &#8220;if you don&#8217;t hear from the server, it&#8217;s OK to activate this link again&#8221;) or is only good for a single use (i.e. &#8220;Sorry, that ack was already sent.&#8221;). In either case, the server can send any response code that is appropriate, including 412, 303, etc. depending on the state of things at the time. </p>
<p>The key advantage here is that clients do not need to have any special coding to handle the operation. They can use the link and let the server decide the outcome. It also does not do any overloading of the use or meaning of the existing ETag header.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

