 Forwarded Message
Date: Tue, 28 Apr 1998 14:11:53 0700
From: Jim Gettys <jg@pa.dec.com>
MessageId: <9804282111.AA00864@pachyderm.pa.dec.com>
XMailer: Pachyderm (client a113.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 NonAuthoritative 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 RequestURI 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 ContentMD5
3t 3y 4n 2 3t 5y 5n 0 1t 3y 3n 0 H 14.24 IfMatch
3t 2y 6n 1 3t 4y 6n 0 1t 2y 4n 0 H 14.26 IfNoneMatch
3t 0y 8n 1 2t 3y 8n 0 1t 0y 6n 0 H 14.27 IfRange
1t 3y 8n 0 3t 2y 8n 0 1t 2y 4n 0 H 14.37 RetryAfter
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 NonAuthoritative 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 ContentMD5 Apache, Clark, Lafon (Server, Proxy)
14.37 RetryAfter 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
