- From: Roy Fielding <fielding@beach.w3.org>
- Date: Sat, 02 Sep 1995 17:23:33 -0400
- To: Paul Leach <paulle@microsoft.com>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
>I have a new respect for Roy's "8 dimensional table". The requests
>aren't so bad (which is what I was thinking about when I said I'd do
>it), but the responses are where the dimensions pile up. I'm still
>cranking away at it. But, as I was trying to create the synopses for
>each of the methods, I came across the following questions (in the
>context of HTTP 1.1); trying to be sure of the answers slowed me down some:
Yeah, responses are the problem, did I forget to mention that?
I'd be happy to put your table in our HTTP documentation area at W3C
once it is near-finished -- eventually, I'd like to set up a Hypernews
page with assorted standards info and a pre-registry.
>1. Is the DELETE method allowed to have an Entity-Header and
>Entity-Body in the request? (I would think not.)
Not.
>2. Are the LINK and UNLINK methods allowed to have an Entity-Body in
>the request? Or any Entity-Header field other than "Link:"? (I would
>think not.)
Not.
>(In this message, by "allowed" I mean that clients aren't supposed to
>send, and servers must ignore if sent.)
Righto, that's the correct interpretation.
>3. In the PUT, DELETE, LINK, and UNLINK methods, is the intent that
>content negotiation is allowed (via the Accept* request header fields),
>but it is for the purpose of negotiating the content of the entity that
>describes the result, not the entity corresponding to the URI? (I would
>think so.)
Yep.
>4. Is the Title entity-header field required in PUT and POST methods?
>Strongly suggested? Or optional? (I'd guess it's one of these :-)
Er, optional.
>5. Is the Title entity-header field allowed in the request for DELETE,
>UNLINK, and LINK methods? (I would think not.)
Not.
>6. Is the URI-header entity-header field allowed in the request for
>PUT, DELETE, UNLINK, and LINK methods? (I would think not.)
It is allowed in all of them, where applicable. For example, if I
wanted to PUT a resource that was known by several names to a
particular location, I would place the location in Request-URI and
the names in URI-headers.
>7. Is the Expires entity-header field allowed in requests for PUT and
>POST methods? (I.e., can the client specify when the resource is to
>expire when they create it?) How about in DELETE, LINK and UNLINK?
Yes on the former; No on the latter.
>8. Is the Last-modified entity-header field allowed in requests for
>PUT, POST, DELETE, LINK and UNLINK methods? I.e., can a client specify
>the last-modified date of a resource?
Yes on PUT and POST, but it may be overridden by the server.
No on DELETE, LINK and UNLINK.
>9. Is the Expires entity-header field ever returned from POST, PUT,
>DELETE, LINK or UNLINK methods? (These are never cached, and the
>description implies of Expires implies it is only used for caching purposes.)
Depends on if they are cacheable responses. I think I agree with the later
discussion on this subject.
>10. Can the PUT, DELETE, LINK, and UNLINK methods ever return 303 (See
>Other) status code? If so, does it mean that the method succeeded or failed?
Yes, and success is dependent on the retrieval of the "Other".
>11. Is it the intent that PUT, DELETE, LINK, and UNLINK methods ever
>return 204 (No Content), which is supposed to mean that there is no new
>content to show? If they don't want to return a description of the
>result of the request, do they return Content-Length of 0, or 204? Same
>question for POST? For POST, it seems more plausible that there might
>be a sequence of POSTs, some of which returned 204 if the result of the
>query had not changed.
Yes, 204, 204, and I suppose so.
Hmmmm, now I just have to figure out where the spec needs clarification
on these issues ...
....Roy T. Fielding Department of ICS, University of California, Irvine USA
Visiting Scholar, MIT/LCS + World-Wide Web Consortium
(fielding@w3.org) (fielding@ics.uci.edu)
Received on Saturday, 2 September 1995 14:25:03 UTC