- From: <noah_mendelsohn@us.ibm.com>
- Date: Thu, 8 May 2003 17:09:28 -0400
- To: Mark Baker <distobj@acm.org>
- Cc: www-tag@w3.org
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