W3C home > Mailing lists > Public > ietf-http-wg-old@w3.org > May to August 1995

Re: any more comments?

From: Roy Fielding <fielding@beach.w3.org>
Date: Thu, 24 Aug 1995 00:20:13 -0400
Message-Id: <199508240420.AAA01872@beach.w3.org>
To: Howard Melman <melman@osf.org>
Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
>> That would be a 5 dimensional table.  Since I have yet to see a table
>> format that accomplished this without duplicating every line of the
>> current spec, I'd be pleasantly surprised if you could do one.
>
>I don't think Paul necessarily meant a table.
>Think man page per method:

Which is still a table.  For example, consider the dimensions

(Method x Message-Header x Request-Header x Request-Entity x
 Response-Code x Message-Header x Response-Header x Response-Entity)

now look at the flattened table of a man page:

>  Method: GET
>  Request Headers:
>  
>      Authorization		Optional
>      From			Optional
>      If-Modified-Since         Optional
>      Orig-URI                  Optional
>      Referer			Optional
>      User-Agent                Should
>  
>  Entity Headers
>  
>  Entity
>  
>  Possible Status Codes
>  
>      200 Success, resource included as entity in response
>      301 The resource has moved permanently, see Location header
>      302 The resource has moved temporarily, See Location header
>      304 ...

You should note that this table only gives enough information
for (Method x Request-Header) + (Method x Request-Entity) +
(Method x Status-Code), which is not a sufficient subset for
a complete specification of the GET method.

For example, (GET x 304) is only possible if (GET x IMS),
yet that information is not describable by the format above.

Now, the choice is either enumerate all possibilies (which would
make the spec several hundred pages long) or include conditional
statements within a sparse table (which is exactly what the current
spec is).

The reason people must read every line of the spec carefully in
order to determine what is and what is not defined is because
the entire spec is the defintion of that table of defined
behavior -- leave a line out, and you do not define HTTP.

Creating an enumerated table of valid HTTP request/response
constraints sounds like a great project, perhaps something that
an author can take up and publish as an O'Reilly reference.
However, I do not think that it is a task for this WG, and it
certainly will not happen within the timeframe of the
initial HTTP/1.0 and HTTP/1.1 RFCs.


 ....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 Wednesday, 23 August 1995 21:21:41 EDT

This archive was generated by hypermail pre-2.1.9 : Wednesday, 24 September 2003 06:31:26 EDT