finishing testing of HTTP/1.1 (help requested)....
Jim Gettys (jg@pa.dec.com)
Tue, 2 Jun 1998 14:34:22 -0700
I've added recent reports from Lester Waters of Microsoft,
Robert Polansky of Raptor (Axent), Mike Belshe of Netscape; my thanks
to them for filing them. There have been over 20 reports filed to date.
I encourage others to submit reports. There are still some significant
1.1 implementations out there for which I don't have data.
To make it easier to update reports, if people who have filed wish to
drop me a note saying things like "I finished testing feature XXX", or
"I found that my testing of feature XXX was broken or in error", I am
willing to edit the existing reports to save people the effort of filling
out the very long form from scratch...
Anyone who can knock of features that don't have enough tested
implementations would be highly appreciated...
I've automated generating the reports so that updating that page
is now easy for me to do.
See: http://www.w3.org/Protocols/HTTP/Forum/Reports/ for the
current state of reports. It has a rollup of all the data,
and a list of features for which we are not
Using the on-line data in the reprot should make it easier to figure out
who has implementations to test against.
There are a few features where I am skeptical proper testing has
been done, which I plan to understand further to make myself confident we've
met IETF rules.
The list of untested implentations on the base spec continues to shrink.
Some of the leftover features below are actually incorrect, as there
are often no special requirements on proxies; we don't really need proxy
implementations for those features (though we wouldn't mind having them;
in fact, one might claim that a proxy that just passes the response back
from the origin server is correct), and that therefore we have
implementations in hand in any case...
Features that do not have requirements on proxies include 202 Accepted,
203 Non-Authoritative Information, 205 Reset Content, 300 Multiple Choices,
303 See Other, 305 Multiple Choices, 410 Gone, 411 Length Required, 412
Precondition Failed, 413 Request Entity Too Large, 414 Request-URI Too
Long, Content-MD5, TE, Trailer (if my quick look at the spec is correct).
Clients Servers Proxies Feature
1t 3y 7n 2- 3t 2y 12n 0- 1t 1y 6n 0- H 10.2.3 202 Accepted
1t 2y 8n 2- 2t 2y 13n 0- 1t 1y 6n 0- H 10.2.4 203 Non-Auth=
oritative Information
1t 2y 8n 2- 2t 1y 14n 0- 1t 1y 6n 0- H 10.2.6 205 Reset Co=
ntent
2t 2y 8n 1- 2t 3y 12n 0- 0t 2y 6n 0- H 10.3.1 300 Multiple=
Choices
3t 4y 6n 0- 2t 3y 12n 0- 0t 3y 5n 0- H 10.3.4 303 See Othe=
r
2t 4y 7n 0- 1t 3y 12n 1- 1t 2y 5n 0- H 10.3.6 305 Use Prox=
y
2t 3y 7n 1- 2t 2y 13n 0- 1t 1y 6n 0- H 10.4.11 410 Gone
3t 5y 5n 0- 2t 6y 9n 0- 1t 3y 4n 0- H 10.4.12 411 Length R=
equired
3t 4y 5n 1- 3t 7y 7n 0- 1t 3y 4n 0- H 10.4.13 412 Precondi=
tion Failed
2t 4y 6n 1- 3t 3y 11n 0- 1t 2y 5n 0- H 10.4.14 413 Request =
Entity Too Large
2t 3y 7n 1- 2t 2y 13n 0- 1t 1y 6n 0- H 10.4.15 414 Request-=
URI Too Long
1t 4y 7n 1- 2t 5y 10n 0- 1t 2y 5n 0- H 10.4.18 417 Expectat=
ion Failed
1t 5y 6n 1- 3t 5y 9n 0- 1t 3y 4n 0- H 13.3.3 Weak entity =
tags
2t 2y 9n 0- 1t 7y 9n 0- 1t 2y 5n 0- H 14.15 Content-MD5
3t 4y 4n 2- 5t 7y 5n 0- 1t 4y 3n 0- H 14.24 If-Match
3t 3y 6n 1- 4t 7y 6n 0- 1t 3y 4n 0- H 14.26 If-None-Match
3t 1y 8n 1- 2t 6y 9n 0- 1t 1y 6n 0- H 14.27 If-Range
3t 3y 7n 0- 1t 2y 14n 0- 1t 1y 6n 0- H 14.39 TE
3t 2y 8n 0- 0t 2y 15n 0- 0t 2y 6n 0- H 14.40 Trailer
3t 4y 4n 2- 1t 4y 11n 1- 1t 4y 3n 0- H 14.46 Warning
Authentication is in poorer shape, where we need another pretty complete
implementation to meet requirements. Our thanks to Ronald Tschal=e4r,
who has done a complete client implementation (though hasn't had a proxy
to test the proxy authentication against).
Clients Servers Proxies Feature
2t 0y 11n 0- 3t 5y 9n 0- 1t 0y 7n 0- A 3.2.1 WWW-Authenticate Dig=
est
1t 0y 12n 0- 0t 1y 16n 0- 0t 0y 8n 0- A 3.2.1 qop-options auth
1t 0y 12n 0- 0t 0y 17n 0- 0t 0y 8n 0- A 3.2.1 qop-options auth-int
2t 0y 11n 0- 2t 5y 10n 0- 1t 0y 7n 0- A 3.2.2 Authorization Digest
1t 0y 12n 0- 0t 1y 16n 0- 0t 0y 8n 0- A 3.2.2 request qop auth
1t 0y 12n 0- 0t 0y 17n 0- 0t 0y 8n 0- A 3.2.2 request qop auth-int
2t 0y 11n 0- 2t 2y 13n 0- 1t 0y 7n 0- A 3.2.3 Authentication-Info =
Digest
1t 0y 12n 0- 0t 2y 15n 0- 0t 0y 8n 0- A 3.2.3 response qop auth
1t 0y 12n 0- 0t 0y 17n 0- 0t 0y 8n 0- A 3.2.3 response qop auth-in=
t
2t 0y 11n 0- 1t 1y 11n 4- 1t 0y 7n 0- A 4.2 Proxy-Authenticate D=
igest
0t 1y 12n 0- 0t 0y 13n 4- 0t 0y 8n 0- A 4.2 Proxy qop-options au=
th
0t 1y 12n 0- 0t 0y 13n 4- 0t 0y 8n 0- A 4.2 Proxy qop-options au=
th-int
2t 0y 11n 0- 1t 1y 11n 4- 1t 0y 7n 0- A 4.2 Proxy Authorization =
Digest
0t 1y 12n 0- 0t 0y 13n 4- 0t 0y 8n 0- A 4.2 Proxy request qop au=
th
0t 1y 12n 0- 0t 0y 13n 4- 0t 0y 8n 0- A 4.2 Proxy request qop au=
th-int
1t 1y 11n 0- 1t 0y 12n 4- 1t 0y 7n 0- A 4.2 Proxy Authentication=
-Info Digest
0t 1y 12n 0- 0t 0y 13n 4- 0t 0y 8n 0- A 4.2 Proxy response qop a=
uth
0t 1y 12n 0- 0t 0y 13n 4- 0t 0y 8n 0- A 4.2 Proxy response qop a=
uth-int
- Jim Gettys