I see where you are coming from. Thank you for your advice.

--  
-a

"Only two things are infinite, the universe and human stupidity, and  
I'm not sure about the former."  --Einstein

On Sep 14, 2009, at 9:41 AM, Stephen Groucutt wrote:

> I'm not sure I get where you're coming from exactly.  It matters  
> very much how data is sent to the server, as part of the uniform  
> interface is the expected server behavior for each HTTP verb.
>
> If I issue:
>
>   GET /my/resource/12345
>   Accept: text/html
>   ...
>
> Then I expect to receive resource 12345 in HTML format (or some HTTP  
> error code that explains why I cannot).
>
> If I issue:
>
>   POST /my/resource
>   ....
>
> with some entity body of a type described by the Content-Type  
> header, I expect a Created response with a Location field pointing  
> to the new resource (or some HTTP error code that explains why the  
> resource could not be created).  I would not expect a GET issued  
> with an entity body to do anything useful with that entity body, nor  
> would I expect a POST issued with no body to create anything useful,  
> unless the resource was of a certain type that required no input  
> data to be created.  These assumptions allow me, as a consumer of  
> that RESTful resource, to interact with that resource without having  
> to do anything special.
>
> You can, of course, define a resource that ignores these conventions  
> and does its own thing.  You'll just lose the benefit of offering a  
> uniform interface to consumers of that resource - and when you start  
> needing clients to do custom, non-standard things, you're one step  
> closer to the old WSDL/SOAP thing.
>
> On Mon, Sep 14, 2009 at 9:44 AM, Schley Andrew Kutz  
> <[email protected]> wrote:
> Dave,
>
> Thank you for your input; it is much appreciated. I'm just bothered by
> the fact that GET and POST have a data delivery mechanism tied to them
> in addition to their semantic purpose of immutable and modifiable
> actions. It would seem to me that the method by which you send data to
> the server should not dictate what the server does to that data.
>
> --
> -a
>
> "Only two things are infinite, the universe and human stupidity, and
> I'm not sure about the former."  --Einstein
>
> On Sep 14, 2009, at 3:22 AM, David Bordoley wrote:
>
> > Hi Andrew,
> >
> > It might be more useful if you could supply a more detailed example
> > that is causing you headaches. Really the difference between POST  
> and
> > GET is idempotence. GET operations must be idempotent, not having  
> side
> > effects, while POST operations may have side effects as defined by  
> the
> > server.  A good rule of thumb is that if a request returns data but
> > doesn't change the state of the server, than GET should be used as  
> it
> > allows for sane client/intermediary caching.
> >
> > On Sat, Sep 12, 2009 at 12:21 PM, Schley Andrew Kutz
> > <[email protected]> wrote:
> >> I'm faced with a dilemma. I'm trying to be a good RFC consumer and
> >> stick with the true purpose of GET and POST (see 
> >> http://www.cs.tut.fi/~jkorpela/forms/methods.html
> >>  for a good discussion on the history of these two HTTP verbs).
> >> Plainly put, GET is for retrieving data and POST is for creating
> >> data.
> >> However, the problem lies in the fact that their purpose and their
> >> data encoding mechanism are mutually exclusive. GET requests encode
> >> data in the URL and POST requests encode data into the form.  
> However,
> >> it is not always desirable to issue a GET request with URL-encoded
> >> data (login information for example), not is it always desirable to
> >> POST data with a form (sometimes a query string will do).
> >
> > I actually disagree with this statement. Using GET to pass login
> > parameters is fine, and in some cases preferable (particularly as it
> > relates to client caching). If you're concerned about security, you
> > should encrypt such requests using SSL (you really should do this
> > regardless of the method used in this case).
> >
> > Also the URI RFC doesn't require that URI parameters be form  
> encoded.
> > You could as easily pass JSON, XML, etc. in the query string as long
> > as it is properly escaped. Form encoding for these parameters is
> > typically chosen as a pragmatic decision due to HTML.
> >
> > Dave
> >
> > ------------------------------------------------------
> > http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2394479
>
> ------------------------------------------------------
> http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2394618
>

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2394648

Reply via email to