PUT != PUT? (was: RE: Autoversion confusion)

<tim>I had a quick look through the HTTP/1.1 spec, and
     didn't see anything that states this categorically.
     In fact, Section 9.6 (PUT) states:
      "HTTP/1.1 does not define how a PUT method affects
      the state of an origin server."
     Now, how many clients do a GET just to check what
     they actually will retrieve after a successful PUT!
</tim>

<jim>
The reason HTTP/1.1 says this is that the GET and PUT
could be to a dynamic resource or database query. It
is up to the semantics of the resource type (MIME type)
to determine the meaning of GET and PUT. HTTP only says
what's on the wire.
</jim>

<tim_2>
Oh Jim, no... from RFC2616,

"9.6 PUT
The PUT method requests that the enclosed entity be stored under the
supplied Request-URI. If the Request-URI refers to an already existing
resource, the enclosed entity SHOULD be considered as a modified version of
the one residing on the origin server. "

whereas

"9.5 POST
The POST method is used to request that the origin server accept the entity
enclosed in the request as a new subordinate of the resource identified by
the Request-URI in the Request-Line. POST is designed to allow a uniform
method to cover the following functions:
     - Annotation of existing resources;
      - Posting a message to a bulletin board, newsgroup, mailing list, or
similar group of articles;
      - Providing a block of data, such as the result of submitting a form,
to a data-handling process;
      - Extending a database through an append operation."

HTTP/1.1 certainly contains some semantics and not just 'what is on the
wire'.

[I'm only continuing this thread because it is so funny!  How about we keep
this one for discussion at the bar?]

Tim

Received on Friday, 9 February 2001 11:38:29 UTC