<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: REST myths</title>
	<link>http://lesscode.org/2006/03/21/rest-myths/</link>
	<description>AAaaaaahhhhrrrrrrr!</description>
	<pubDate>Mon, 17 Sep 2007 09:11:03 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.1</generator>

	<item>
		<title>by: Robert Sayre</title>
		<link>http://lesscode.org/2006/03/21/rest-myths/#comment-1340</link>
		<pubDate>Wed, 22 Mar 2006 03:21:43 +0000</pubDate>
		<guid>http://lesscode.org/2006/03/21/rest-myths/#comment-1340</guid>
					<description>&lt;p&gt;I agree, that was a little too hot and open-ended given the blogosphere we've had today, but I've actually seen it crop up in all sorts contexts, not just the stuff we've all worked on. I once &lt;a href=&quot;http://lists.w3.org/Archives/Public/www-tag/2005Mar/0075.html&quot; rel=&quot;nofollow&quot;&gt;asked&lt;/a&gt; the answer to this question, and the people who should know &lt;a href=&quot;http://www.w3.org/2005/03/22-tagmem-minutes.html#item08&quot; rel=&quot;nofollow&quot;&gt;refused to answer&lt;/a&gt;!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I agree, that was a little too hot and open-ended given the blogosphere we&#8217;ve had today, but I&#8217;ve actually seen it crop up in all sorts contexts, not just the stuff we&#8217;ve all worked on. I once <a href="http://lists.w3.org/Archives/Public/www-tag/2005Mar/0075.html">asked</a> the answer to this question, and the people who should know <a href="http://www.w3.org/2005/03/22-tagmem-minutes.html#item08">refused to answer</a>!</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Laurent Szyster</title>
		<link>http://lesscode.org/2006/03/21/rest-myths/#comment-1339</link>
		<pubDate>Wed, 22 Mar 2006 03:19:29 +0000</pubDate>
		<guid>http://lesscode.org/2006/03/21/rest-myths/#comment-1339</guid>
					<description>&lt;p&gt;HTTP has two methods in public use: GET and POST. Nescape implemented PUT, Microsoft developed WebDAV, but web application developers try to stick to GET and seldom handle other POSTs than URLencoded form data.&lt;/p&gt;

&lt;p&gt;The other popular applications of POST are XML/RPC, REST and now JSON.&lt;/p&gt;

&lt;p&gt;So, limiting the number of HTTP method is not a new myth. It's an old truth. The good reasons why nobody needs more than GET and POST is that there is not much more to HTTP than that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;ask for the MIME resource located by an URL and described by request's MIME headers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;send a MIME resource to a URL and get the response in a MIME envelope&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Save to the web is a great idea and Apache WebDAV support applied to SVN is amazing. But starting a complex dialog with the server about each URL methods makes sense only for a kind of &quot;rich clients&quot; that monopolies love to lock people in and which customers learned to hate. &lt;/p&gt;

&lt;p&gt;Wikis &lt;em&gt;backed&lt;/em&gt; by revision control tools proved good enough to author collectively and safely on the web, and large Content Management Systems are simply built that way. With or without WebDAV.&lt;/p&gt;

&lt;p&gt;With just GET and POST.&lt;/p&gt;

&lt;p&gt;Like this very blog.&lt;/p&gt;

&lt;p&gt;For diverse reasons, PUT, DELETE and WebDAV have never spread out of their original applications as a public extension of HTTP, supported everywhere like GET. Possibly because WebDAV is too complex or too specialized.&lt;/p&gt;

&lt;p&gt;But more fundamentaly because we still don't have the basic service to apply what PUT and DELETE were designed for: a read/write web.&lt;/p&gt;

&lt;p&gt;Not that Web 2.0 fad.&lt;/p&gt;

&lt;p&gt;That's just the return of a Fat Client/Server Zombie ;-)&lt;/p&gt;

&lt;p&gt;A read/write web is a web of peers, the one originaly envisionned by Tim Berner Lee but never realized due to the absence of a public name resolution for &lt;em&gt;peers&lt;/em&gt;. HTTP was not a protocol for client and servers, but for peers.&lt;/p&gt;

&lt;p&gt;This very blogosphere you and me are writing is the next-best read/write web. It is not new and past this POST &lt;em&gt;all&lt;/em&gt; content is distributed via RSS feeds that user agents ... &lt;/p&gt;

&lt;p&gt;GET /rss2 HTTP/1.1
Host: lesscode.org&lt;/p&gt;

&lt;p&gt;&lt;!-- generator=&quot;wordpress/2.0.1&quot; --&gt;

        ...&lt;/p&gt;

&lt;p&gt;just GET.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>HTTP has two methods in public use: GET and POST. Nescape implemented PUT, Microsoft developed WebDAV, but web application developers try to stick to GET and seldom handle other POSTs than URLencoded form data.</p>
<p>The other popular applications of POST are XML/RPC, REST and now JSON.</p>
<p>So, limiting the number of HTTP method is not a new myth. It&#8217;s an old truth. The good reasons why nobody needs more than GET and POST is that there is not much more to HTTP than that:</p>
<ol>
<li>
<p>ask for the MIME resource located by an URL and described by request&#8217;s MIME headers</p>
</li>
<li>
<p>send a MIME resource to a URL and get the response in a MIME envelope</p>
</li>
</ol>
<p>Save to the web is a great idea and Apache WebDAV support applied to SVN is amazing. But starting a complex dialog with the server about each URL methods makes sense only for a kind of &#8220;rich clients&#8221; that monopolies love to lock people in and which customers learned to hate. </p>
<p>Wikis <em>backed</em> by revision control tools proved good enough to author collectively and safely on the web, and large Content Management Systems are simply built that way. With or without WebDAV.</p>
<p>With just GET and POST.</p>
<p>Like this very blog.</p>
<p>For diverse reasons, PUT, DELETE and WebDAV have never spread out of their original applications as a public extension of HTTP, supported everywhere like GET. Possibly because WebDAV is too complex or too specialized.</p>
<p>But more fundamentaly because we still don&#8217;t have the basic service to apply what PUT and DELETE were designed for: a read/write web.</p>
<p>Not that Web 2.0 fad.</p>
<p>That&#8217;s just the return of a Fat Client/Server Zombie ;-)</p>
<p>A read/write web is a web of peers, the one originaly envisionned by Tim Berner Lee but never realized due to the absence of a public name resolution for <em>peers</em>. HTTP was not a protocol for client and servers, but for peers.</p>
<p>This very blogosphere you and me are writing is the next-best read/write web. It is not new and past this POST <em>all</em> content is distributed via RSS feeds that user agents &#8230; </p>
<p>GET /rss2 HTTP/1.1<br />
Host: lesscode.org</p>
<p><!-- generator="wordpress/2.0.1" --></p>
<p>        &#8230;</p>
<p>just GET.</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Ryan Tomayko</title>
		<link>http://lesscode.org/2006/03/21/rest-myths/#comment-1338</link>
		<pubDate>Wed, 22 Mar 2006 02:53:15 +0000</pubDate>
		<guid>http://lesscode.org/2006/03/21/rest-myths/#comment-1338</guid>
					<description>&lt;p&gt;Your trolling, Robert. Next time, leave the last two sentences out or phrase them in a way that invites discussion instead of aggression. Having to &lt;code&gt;&amp;#60;strike&amp;#62;&lt;/code&gt; comments is annoying, having to &lt;code&gt;&amp;#60;strike&amp;#62;&lt;/code&gt; posts is insulting. &lt;/p&gt;

&lt;p&gt;Dammit if we can't just have a nice little place where people try to do something other than constantly piss each other off.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Your trolling, Robert. Next time, leave the last two sentences out or phrase them in a way that invites discussion instead of aggression. Having to <code>&lt;strike&gt;</code> comments is annoying, having to <code>&lt;strike&gt;</code> posts is insulting. </p>
<p>Dammit if we can&#8217;t just have a nice little place where people try to do something other than constantly piss each other off.</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Robert Sayre</title>
		<link>http://lesscode.org/2006/03/21/rest-myths/#comment-1335</link>
		<pubDate>Wed, 22 Mar 2006 00:28:10 +0000</pubDate>
		<guid>http://lesscode.org/2006/03/21/rest-myths/#comment-1335</guid>
					<description>&lt;p&gt;My personal opinion is that MKCOL and, by extension, MKCALENDAR are overkill. Reasonable people have been known to disagree. ShinyObjectDAV can definitely be tempting, and may not be good design, but it's definitely transparent and observable to HTTP intermediaries.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>My personal opinion is that MKCOL and, by extension, MKCALENDAR are overkill. Reasonable people have been known to disagree. ShinyObjectDAV can definitely be tempting, and may not be good design, but it&#8217;s definitely transparent and observable to HTTP intermediaries.</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Patrick Logan</title>
		<link>http://lesscode.org/2006/03/21/rest-myths/#comment-1334</link>
		<pubDate>Wed, 22 Mar 2006 00:18:49 +0000</pubDate>
		<guid>http://lesscode.org/2006/03/21/rest-myths/#comment-1334</guid>
					<description>&lt;p&gt;I'll read through those earlier messages on WebDAV. What about CalDAV? Any references to good discussions on the pro/con of CalDAV or guidelines for drawing the line on new methods?
&lt;p&gt;
If we need a CalDAV then do we need a ProjectPlanDAV and a SchematicDiagramDAV, and a ShinyObjectDAV, and a...
&lt;p&gt;
If people believe that CalDAV is more pro than con, what are the general lessons to be learned from that reasoning?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I&#8217;ll read through those earlier messages on WebDAV. What about CalDAV? Any references to good discussions on the pro/con of CalDAV or guidelines for drawing the line on new methods?</p>
<p>
If we need a CalDAV then do we need a ProjectPlanDAV and a SchematicDiagramDAV, and a ShinyObjectDAV, and a&#8230;</p>
<p>
If people believe that CalDAV is more pro than con, what are the general lessons to be learned from that reasoning?</p>
]]></content:encoded>
				</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.299 seconds -->
<!-- Cached page served by WP-Cache -->
