Re: RESTful Web services and DAL

From: Guy Rixon <gtr-at-ast.cam.ac.uk>
Date: Wed, 14 Mar 2007 08:44:44 +0000 (GMT)


On Tue, 13 Mar 2007, Doug Tody wrote:

> ... In this case the Web
> goes one step further than Unix, as *merely reading* an executable
> file is allowed to transparently execute the file. GET defines
> a syntax which allows the command arguments to be folded into the
> command reference as one long string, the URL. A clever Unix file
> system driver could be written to do this same thing. POST is a more
> explicit command invocation, which separates the command arguments
> from the command reference.

And therein lies the schism. In the web, GET _does not_ "execute a command", ever. It fetches the content of a specific resource, identified by that resource's URI. From the client's viewpoint that content existed before the GET and exists afterwards. The service implementor may choose to generate the content for each resource, but the client _must not_ assume that. If the client can tell the difference between "fetches existing content" and "executes command", then the verb must be POST (or possibly PUT, in special cases). This is central to REST.

Guy Rixon 				        gtr-at-ast.cam.ac.uk
Institute of Astronomy   	                Tel: +44-1223-337542
Madingley Road, Cambridge, UK, CB3 0HA		Fax: +44-1223-337523
Received on 2007-03-14Z09:45:54