httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roy T. Fielding" <field...@kiwi.ics.uci.edu>
Subject FWD: Implementation and testing required to finish HTTP/1.1
Date Wed, 29 Apr 1998 14:45:56 GMT

------- Forwarded Message

Date: Tue, 28 Apr 1998 14:11:53 -0700
From: Jim Gettys <jg@pa.dec.com>
Message-Id: <9804282111.AA00864@pachyderm.pa.dec.com>
X-Mailer: Pachyderm (client a-113.tunnel.crl.dec.com, user jg)
Subject: Implementation and testing required to finish HTTP/1.1

I've just finished an analysis of the minimum implementation and
testing required to take HTTP/1.1 to draft standard (presuming no
deletions of functionality.  This is without any further data from
Sun, Microsoft, Netscape, and Lotus, all of whom have indicated
they will provide further implementation reports on other software
not yet in my data.   So I went looking for where testing would do us
the most good to progress the specification to draft standard.

I have not attempted the same analysis for digest, where it looks to
me like several concentrated implementation efforts may be needed.

To meet the spirit and letter of IETF rules, we need 2 implementations.
I interpret this to mean 2 clients, two servers, and 2 proxies, where
proxy functionality differs from clients or servers.

MOST URGENT ARE TE and Trailer, FOR WHICH NOT ENOUGH IMPLEMENTATIONS
EXIST, MUCH LESS TESTING!  You are all encouraged to implement these
(though we'd appreciate a couple quickly more than most things!)
There is also currently discussion in the working group about whether
we need a new error code to handle name server lookup failure cases
in proxies; this might require a couple quick implementations.

IF YOU ARE ON THE TO: LINE OF THIS MESSAGE, it means you claim to have
implementations of features that we need to progress the standard
and therefore for which if you test, you can immediately help everyone.

You are all, of course, urged to complete implementation and testing of 
all features that make sense for your projects, and to report the results.

The remaining question was which features do we need 2 proxy implementations
for, which I interpret to mean features requires different behavior for 
proxies than clients or servers.

So I did an analysis of those features that we did not have 2 proxy
implementations for.

Each such feature is marked with NP ("Need Proxy") below.
I hope I haven't made any mistakes; let me know if you think I have.


NP 4t  2y  6n  0- 3t  3y  7n  0- 1t  1y  5n  0- H 9.7 DELETE
   1t  1y  9n  1- 1t  2y 10n  0- 1t  0y  6n  0- H 10.1.2 101 Switching Protocols
   1t  2y  7n  2- 3t  1y  9n  0- 1t  0y  6n  0- H 10.2.3 202 Accepted
   1t  1y  8n  2- 2t  0y 11n  0- 1t  0y  6n  0- H 10.2.4 203 Non-Authoritative Information
   1t  1y  8n  2- 2t  0y 11n  0- 1t  0y  6n  0- H 10.2.6 205 Reset Content
   2t  3y  7n  0- 1t  2y 10n  0- 1t  1y  5n  0- H 10.3.6 305 Use Proxy
   2t  3y  7n  0- 2t  2y  8n  1- 1t  0y  6n  0- H 10.4.9 408 Request Timeout
   3t  1y  7n  1- 1t  2y 10n  0- 1t  0y  6n  0- H 10.4.10 409 Conflict
   2t  2y  7n  1- 2t  0y 11n  0- 1t  0y  6n  0- H 10.4.11 410 Gone
   2t  5y  5n  0- 2t  4y  7n  0- 1t  2y  4n  0- H 10.4.12 411 Length Required
   3t  3y  5n  1- 3t  4y  6n  0- 1t  2y  4n  0- H 10.4.13 412 Precondition Failed
   2t  3y  6n  1- 2t  1y 10n  0- 1t  1y  5n  0- H 10.4.14 413 Request Entity Too Large
   2t  2y  7n  1- 2t  0y 11n  0- 1t  0y  6n  0- H 10.4.15 414 Request-URI Too Long
NP 3t  1y  6n  2- 2t  2y  7n  2- 1t  1y  5n  0- H 10.5.3 502 Bad Gateway
NP 3t  4y  5n  0- 3t  4y  6n  0- 1t  2y  4n  0- H 13.3.3 Strong entity tags
NP 2t  3y  7n  0- 3t  3y  7n  0- 2t  1y  4n  0- H 13.3.3 Weak entity tags
NP 2t  1y  9n  0- 1t  3y  9n  0- 1t  1y  5n  0- H 14.15 Content-MD5
   3t  3y  4n  2- 3t  5y  5n  0- 1t  3y  3n  0- H 14.24 If-Match
   3t  2y  6n  1- 3t  4y  6n  0- 1t  2y  4n  0- H 14.26 If-None-Match
   3t  0y  8n  1- 2t  3y  8n  0- 1t  0y  6n  0- H 14.27 If-Range
   1t  3y  8n  0- 3t  2y  8n  0- 1t  2y  4n  0- H 14.37 Retry-After
   3t  2y  7n  0- 1t  0y 12n  0- 1t  0y  6n  0- H 14.39 TE
   2t  2y  8n  0- 0t  1y 12n  0- 0t  1y  6n  0- H 14.40 Trailer
   1t  2y  8n  1- 1t  2y 10n  0- 1t  1y  5n  0- H 14.42 Upgrade
NP 3t  3y  4n  2- 1t  4y  7n  1- 1t  3y  3n  0- H 14.46 Warning

Then, by looking at all the data in hand, I went looking for people
who claimed to have implementations of features they could test
to get us to the requirements.  TE and Trailer, in theory, are the
only items that need implementation (unless we end up with another
status code due to gethostbyname problems currently under discussion).


Here's what I come up with...


Minimum implementation and/or testing needs:
9.7 DELETE 			Gray has implementation (Proxy)
10.1.2 101 Switching Protocols	Frystyk has key implementation (client)
10.2.3 202 Accepted		Goland or Frystyk (client)
10.2.4 203 Non-Authoritative Information Frystyk (client)
10.2.6 205 Reset Content 	Frystyk, Goland (client)
10.3.6 305 Use Proxy		Apache (server)
10.4.10 409 Conflict		Apache, Wingard (server)
10.5.3 502 Bad Gateway		Totty (Proxy)
13.3.3 Strong entity tags	Mallery, Lafon, (Proxy)
14.15 Content-MD5		Apache, Clark, Lafon (Server, Proxy)
14.37 Retry-After		Frysytk, Gray, Tschalaer (Client)
14.39 TE			Needs 1 server implementation!!!!
14.40 Trailer			Needs 2 server implementations!!!
                (dunno how 2 clients can claim implementation, unless NPH
                scripts used!)
14.42 Upgrade			Frysytk, Lafon, Sanders (1 Client, 1 server)
14.46 Warning			Apache, Lafon, Mallery, Totty (1 Server, 1 Proxy)
			Thanks Greatly,
                                - Jim

------- End of Forwarded Message


Mime
View raw message