- From: Lisa Dusseault <lisa@xythos.com>
- Date: Wed, 7 Jul 2004 15:51:03 -0700
- To: Webdav WG <w3c-dist-auth@w3c.org>
- Cc: Jim Luther <luther.j@apple.com>
HTTP classifies headers as entity headers, general headers, request
headers or response headers. Jim Luther suggested a while back that we
should have classified the DAV headers accordingly. Here are the
definitional sections from RFC2616:
Entity-header fields define metainformation about the entity-body or,
if no body is present, about the resource identified by the request.
General-header: There are a few header fields which have general
applicability for
both request and response messages, but which do not apply to the
entity being transferred. These header fields apply only to the
message being transmitted.
Example: Upgrade, indicating additional protocols supported by the
client.
The response-header fields allow the server to pass additional
information about the response which cannot be placed in the Status-
Line. These header fields give information about the server and about
further access to the resource identified by the Request-URI.
The request-header fields allow the client to pass additional
information about the request, and about the client itself, to the
server. These fields act as request modifiers, with semantics
equivalent to the parameters on a programming language method
invocation.
Beyond this, there's some unofficial explanation here
(http://www.tcpipguide.com/free/t_HTTPGeneralHeaders.htm).
Thus:
- DAV must be a general-header, just like Upgrade, unless it's a
response header because it only appears on responses.
- Depth, Destination, Force-Authentication, If, Overwrite and Timeout
are all simply request headers, like If-Match and Range.
- Lock-Token is an entity-header like Content-Language and Expires --
on either the request or the response, it provides additional
information about the resource addressed in the request.
But what does this buy us? Besides limiting how they're used (e.g.
prevent the server from using the Depth header on a response), I can't
see how the definition helps implementors. Jim perhaps you could
explain what I'm missing?
Lisa
Received on Wednesday, 7 July 2004 18:52:31 UTC