Re: Draft TAG finding available: Client handling of MIME headers

Mark Baker writes:

>> Sure, that would take care of it, but with the 
>> large cost of having islands of interoperability; 
>> one island where PUT=store, and the other where PUT=set.

Seems to me you can do it either way as long as you're consistent.  The 
two formuations that make sense to me are:

* PUT is a store operation.  It is understood as causing the object to 
retain a state which is the media type and octet stream supplied on the 
PUT.  Any resource not implementing this semantic MUST reject a PUT 
operation with error XXXX.

        -or-

* PUT initializes the resource to a state corresponding to the supplied 
representation.  (The exact effect is resource dependent:  a file 
repository may retain the representation is its state;  a clock might read 
the representation and set its initial time accordingly.)

Either way, you can't get away from the fact that some resources are file 
stores and some are clocks.  Certain applications will undoubtedly be 
unhappy if they try to think of all resources as being the same and thus 
attempting to use a clock as a file store.  The first option above uses 
PUT as a special case operation that will fail for resources like clocks. 
The second option makes PUT more universally applicable, but makes it the 
application's responsibility to know which resources to use. 

Either is OK with me, but I favor the latter.  Why?  Resources are not 
interchangeable.  Certain resources (clocks) cannot do "store" in the 
sense you mean.  Let's just accept that.  Option 1 can distinguish clocks 
from file stores, but not clocks from inventory records.  Why try?  I find 
it appealing to have a universal PUT operation that says:  "whatever you 
are, set your state from this representation".  That makes PUT an 
effective dual of GET, which also applies usefully to any resource.

------------------------------------------------------------------
Noah Mendelsohn                              Voice: 1-617-693-4036
IBM Corporation                                Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------

Received on Thursday, 8 May 2003 17:18:34 UTC