- From: Larry Masinter <masinter@parc.xerox.com>
- Date: Wed, 30 Sep 1998 07:18:43 PDT
- To: iesg-secretary@ietf.org
- Cc: http-wg@cuckoo.hpl.hp.com
This implementation report is for http-v11-spec-rev-05 & http-authentication-03 to progress to Draft Standard. This report is abbreviated; see http://www.w3.org/Protocols/HTTP/Forum/Reports/ for more explanation and individual implementation reports. Many thanks to the contributors who took the time to report on their systems, and to Jim Gettys for accumulating the results and encouraging sufficient testing and reporting. We have surveyed implementations for whether each feature in these specifications have been tested against independent interoperable implementations. In the survey, nearly all features have had more than two clients, servers, and proxies tested. Since the survey was performed, almost all of the _remaining_ features have been tested, and we feel confident in bringing forward the specifications as Draft Standard at this point. We have implementation & testing reports from 20 implementations: * libwww-perl NG-alpha-0.11 from Aas Software: a Perl HTTP client library (Gisle Aas) * HTTPClient V0.4-dev from Ronald Tschalaer: a client library in Java * libwww 5.1k from the World Wide Web Consortium: a client library in C, with various tools built on top (Henrik Frystyk Nieslen) * Internet Explorer 4 from Microsoft Corporation: a full-feature web browser (Yaron Goland) * Netscape Navagator and Communicator 5 from Netscape Communication Corporation (Gagan Saksena): a full-feature web browser and editor * Netscape Enterprise Server 3.51 from Netscape Communication Corporation: a HTTP/1.1 server (Mike Belshe) * Apache 1.3b6 from the Apache Group: a HTTP/1.1 Server and incomplete caching proxy (Roy Fielding) * DMKHTD 1.06f from Dave Kristol, Bell Labs: a HTTP/1.1 Server * Microsoft IIS 4.0 from Microsoft Corporation: a HTTP/1.1 Server (Henry Sanders) * WN 2.0.0 from John Franks, Northwestern University Math Department: a HTTP/1.1 Server * SRE-http 1.3a from Daniel Hellerstein, USDA: a HTTP/1.1 Server * HASS 1.00d.a from Applied Theory Communications: a Application Server Suite (Patrick McManus) * Microsoft Proxy Server 2.0 from Microsoft Corporation a HTTP/1.1 Caching Proxy server (Lester Waters) * CL-HTTP 67.47 from John Mallery, MIT AI Lab: a combined sever and caching proxy, including a client and Web Walker application * Jigsaw 2.0beta from the World Wide Web Consortium, a combined server and caching proxy (Yves Lafon) * Raptor Firewall 5.1 from Axent Technologies, a HTTP/1.1 firewall Proxy (no caching) (Robert Polansky) * GiambyNetGrabber 0.65 from GiambiSoft: a client Internet mirroring tool (Giambattista Bloisi) * Millicent Proxy 1.0 (3 separate implementations) from Digital Equipment Corporation: the MilliCent microcommerce system, including Server, Proxy and Gateway (reverse proxy) (Steve Glassman). The separate implementations were by different people at different geographical locations in different programming languages. Table of Results: Each implementation was surved to review the http-spec-v11-rev document and the http-authentication document to review each section for whether all of the features in that section were implemented and tested for interoperability of that feature against a separate independent implementation. The codes below indicate different responses: 't' tested against another independent implementation 'y' implemented but not tested against independent implementation 'n' not implementated '-' not applicable to this type of implementation Clients |Servers | Proxies |Feature 11t 0y 3n|13t 1y 4n| 5t 0y 3n|H 8.1 Persistent Connections 7t 0y 5n| 3t 1y 4n| 3t 0y 4n|H 8.2.3 Automatic retrying 5t 3y 5n| 5t 6y 7n| 3t 2y 3n|H 8.2.4 100 (Continue) status 5t 1y 7n| 7t 3y 8n| 3t 1y 4n|H 9.2 OPTIONS 14t 0y 0n|17t 1y 0n| 8t 0y 0n|H 9.3 GET 13t 0y 1n|17t 1y 0n| 8t 0y 0n|H 9.4 HEAD 13t 0y 0n|16t 2y 0n| 8t 0y 0n|H 9.5 POST 8t 1y 4n| 9t 3y 6n| 4t 0y 4n|H 9.6 PUT 5t 2y 6n| 5t 4y 9n| 2t 1y 5n|H 9.7 DELETE 5t 2y 5n| 6t 6y 5n| 2t 2y 4n|H 9.8 TRACE 6t 3y 4n| 4t 3y 7n| 3t 3y 2n|H 9.9 CONNECT 8t 2y 3n| 6t 7y 5n| 3t 2y 3n|H 10.1.1 100 Continue 2t 2y 9n| 2t 3y 13n| 2t 1y 5n|H 10.1.2 101 Switching Protocols 14t 0y 0n|17t 1y 0n| 8t 0y 0n|H 10.2.1 200 OK 5t 2y 5n| 5t 4y 8n| 2t 1y 4n|H 10.2.2 201 Created 4t 1y 7n| 5t 1y 12n| 2t 0y 6n|H 10.2.3 202 Accepted 3t 1y 8n| 4t 1y 13n| 2t 0y 6n|H 10.2.4 203 Non-Authoritative Info 6t 3y 5n| 7t 2y 9n| 3t 1y 4n|H 10.2.5 204 No Content 3t 1y 8n| 4t 0y 14n| 2t 0y 6n|H 10.2.6 205 Reset Content 7t 1y 5n| 6t 5y 7n| 3t 1y 4n|H 10.2.7 206 Partial Content 4t 2y 7n| 4t 3y 11n| 2t 1y 5n|H 10.3.1 300 Multiple Choices 11t 2y 1n|13t 2y 3n| 7t 0y 1n|H 10.3.2 301 Moved Permanently 7t 2y 5n|10t 3y 5n| 4t 0y 4n|H 10.3.3 302 Found 5t 4y 5n| 4t 3y 11n| 2t 2y 4n|H 10.3.4 303 See Other 11t 1y 1n|16t 1y 1n| 8t 0y 0n|H 10.3.5 304 Not Modified 3t 5y 6n| 2t 3y 12n| 2t 2y 4n|H 10.3.6 305 Use Proxy 7t 5y 2n| 7t 1y 10n| 5t 1y 2n|H 10.3.7 307 Temporary Redirect 12t 0y 1n|12t 5y 1n| 7t 0y 1n|H 10.4.1 400 Bad Request 12t 2y 0n|16t 2y 0n| 8t 0y 0n|H 10.4.2 401 Unauthorized 3t 6y 3n| 3t 5y 10n| 3t 4y 1n|H 10.4.3 402 Payment Required 10t 2y 1n|12t 5y 1n| 7t 1y 0n|H 10.4.4 403 Forbidden 12t 0y 1n|15t 3y 0n| 8t 0y 0n|H 10.4.5 404 Not Found 7t 2y 4n| 7t 6y 5n| 4t 1y 3n|H 10.4.6 405 Method Not Allowed 6t 3y 4n| 5t 4y 9n| 3t 2y 3n|H 10.4.7 406 Not Acceptable 11t 2y 1n| 8t 0y 7n| 7t 0y 1n|H 10.4.8 407 Proxy Auth Required 4t 3y 7n| 4t 3y 10n| 2t 0y 6n|H 10.4.9 408 Request Timeout 4t 3y 6n| 3t 4y 11n| 2t 1y 5n|H 10.4.10 409 Conflict 4t 2y 7n| 4t 0y 14n| 2t 0y 6n|H 10.4.11 410 Gone 4t 5y 5n| 4t 5y 9n| 2t 2y 4n|H 10.4.12 411 Length Required 4t 4y 5n| 5t 6y 7n| 2t 2y 4n|H 10.4.13 412 Precondition Failed 3t 4y 6n| 4t 2y 12n| 2t 1y 5n|H 10.4.14 413 Req Entity Too Large 5t 2y 6n| 3t 2y 13n| 2t 1y 5n|H 10.4.15 414 Request-URI Too Long 5t 2y 6n| 4t 2y 12n| 3t 0y 5n|H 10.4.16 415 Unsupported Media Type 4t 4y 5n| 3t 5y 10n| 3t 1y 4n|H 10.4.17 416 range not satisfiable 2t 4y 7n| 4t 3y 11n| 2t 1y 5n|H 10.4.18 417 Expectation|Failed 6t 2y 4n| 7t 7y 4n| 4t 1y 3n|H 10.5.1 500 Internal Server Error 6t 2y 4n| 7t 8y 3n| 4t 1y 3n|H 10.5.2 501 Not Implemented 4t 2y 6n| 3t 2y 10n| 2t 1y 5n|H 10.5.3 502 Bad Gateway 6t 3y 4n| 5t 3y 10n| 3t 2y 3n|H 10.5.4 503 Service Unavailable 5t 3y 4n| 4t 4y 7n| 3t 2y 3n|H 10.5.5 504 Gateway Timeout 4t 2y 6n| 4t 6y 8n| 2t 1y 5n|H 10.5.6 505 Version Not Supported 4t 4y 5n| 6t 6y 6n| 2t 2y 4n|H 13.3.3 Strong entity tags 1t 5y 7n| 3t 5y 10n| 1t 3y 4n|H 13.3.3 Weak entity tags 12t 0y 1n|13t 2y 3n| 8t 0y 0n|H 14.1 Accept 8t 1y 4n| 9t 3y 6n| 5t 0y 3n|H 14.2 Accept-Charset 9t 1y 4n| 6t 6y 6n| 4t 1y 3n|H 14.3 Accept-Encoding 7t 2y 4n|10t 3y 5n| 4t 1y 3n|H 14.4 Accept-Language 6t 2y 5n| 6t 6y 6n| 2t 2y 4n|H 14.5 Accept-Ranges 7t 1y 5n| 5t 2y 4n| 4t 1y 3n|H 14.6 Age 3t 3y 6n| 7t 8y 3n| 2t 3y 3n|H 14.7 Allow 12t 0y 2n|12t 5y 1n| 7t 0y 1n|H 14.8 Authorization 10t 2y 1n|12t 5y 1n| 7t 1y 0n|H 14.9 Cache-Control 14t 0y 0n|13t 4y 1n| 8t 0y 0n|H 14.10 Connection 11t 2y 1n|10t 6y 2n| 6t 1y 1n|H 14.11 Content-Encoding 5t 3y 5n| 7t 6y 5n| 3t 2y 3n|H 14.12 Content-Language 13t 0y 1n|14t 3y 1n| 8t 0y 0n|H 14.13 Content-Length 8t 1y 4n| 5t 5y 8n| 4t 1y 3n|H 14.14 Content-Location 3t 1y 10n| 4t 5y 9n| 2t 1y 5n|H 14.15 Content-MD5 8t 1y 4n| 6t 7y 5n| 4t 1y 3n|H 14.16 Content-Range 12t 0y 1n|15t 3y 0n| 8t 0y 0n|H 14.17 Content-Type 12t 0y 1n|15t 3y 0n| 8t 0y 0n|H 14.18 Date 6t 3y 4n| 7t 7y 4n| 3t 2y 3n|H 14.19 ETag 4t 1y 9n| 5t 4y 9n| 2t 1y 5n|H 14.20 Expect 8t 0y 5n|10t 4y 4n| 5t 0y 3n|H 14.21 Expires 6t 3y 4n| 4t 4y 8n| 2t 3y 3n|H 14.22 From 14t 0y 0n|15t 3y 0n| 8t 0y 0n|H 14.23 Host 5t 3y 4n| 6t 7y 5n| 2t 3y 3n|H 14.24 If-Match 12t 0y 1n|16t 2y 0n| 8t 0y 0n|H 14.25 If-Modified-Since 4t 2y 7n| 6t 6y 6n| 2t 2y 4n|H 14.26 If-None-Match 5t 1y 7n| 3t 6y 9n| 2t 1y 5n|H 14.27 If-Range 5t 2y 5n| 8t 6y 4n| 3t 2y 3n|H 14.28 If-Unmodified-Since 9t 0y 4n|13t 2y 3n| 5t 0y 3n|H 14.29 Last-Modified 10t 1y 3n| 9t 5y 4n| 4t 1y 3n|H 14.30 Location 4t 2y 6n| 3t 2y 10n| 3t 2y 3n|H 14.31 Max-Forwards 10t 2y 1n|12t 3y 3n| 7t 1y 0n|H 14.32 Pragma 12t 1y 1n| 8t 0y 5n| 7t 0y 1n|H 14.33 Proxy-Authenticate 12t 1y 1n| 8t 0y 5n| 7t 0y 1n|H 14.34 Proxy-Authorization 7t 2y 4n| 6t 6y 6n| 3t 2y 3n|H 14.35 Range 8t 1y 5n| 8t 3y 6n| 4t 0y 4n|H 14.36 Referer 3t 3y 8n| 4t 3y 11n| 2t 2y 4n|H 14.37 Retry-After 6t 2y 4n| 9t 6y 3n| 3t 2y 3n|H 14.38 Server 3t 3y 8n| 2t 2y 14n| 1t 1y 6n|H 14.39 TE 3t 2y 9n| 1t 2y 15n| 0t 2y 6n|H 14.40 Trailer 11t 1y 2n|10t 6y 2n| 6t 1y 1n|H 14.41 Transfer-Encoding 2t 2y 9n| 2t 2y 14n| 2t 1y 5n|H 14.42 Upgrade 12t 1y 1n|10t 2y 2n| 8t 0y 0n|H 14.43 User-Agent 5t 1y 7n| 7t 4y 7n| 4t 1y 3n|H 14.44 Vary 9t 0y 3n| 8t 0y 7n| 7t 0y 1n|H 14.45 Via 4t 3y 5n| 2t 3y 12n| 2t 3y 3n|H 14.46 Warning 11t 1y 2n|14t 3y 1n| 7t 1y 0n|H 14.47 WWW-Authenticate 13t 0y 1n|15t 2y 1n| 8t 0y 0n|A 2 Basic Authentication 2t 0y 12n| 4t 5y 9n| 1t 0y 7n|A 3.2.1 WWW-Authenticate Digest 1t 0y 13n| 2t 1y 15n| 0t 0y 8n|A 3.2.1 qop-options auth 1t 0y 13n| 1t 0y 17n| 0t 0y 8n|A 3.2.1 qop-options auth-int 2t 0y 12n| 4t 5y 9n| 1t 0y 7n|A 3.2.2 Authorization Digest 1t 0y 13n| 2t 1y 15n| 0t 0y 8n|A 3.2.2 request qop auth 1t 0y 13n| 1t 0y 17n| 0t 0y 8n|A 3.2.2 request qop auth-int 2t 0y 12n| 3t 2y 13n| 1t 0y 7n|A 3.2.3 Authentication-Info Digest 1t 0y 13n| 1t 2y 15n| 0t 0y 8n|A 3.2.3 response qop auth 1t 0y 13n| 1t 0y 17n| 0t 0y 8n|A 3.2.3 response qop auth-int 11t 0y 3n| 7t 0y 7n| 6t 0y 2n|A 4.1 Proxy-Authenticate Basic 2t 0y 12n| 1t 1y 12n| 1t 0y 7n|A 4.2 Proxy-Authenticate Digest 0t 1y 13n| 0t 0y 14n| 0t 0y 8n|A 4.2 Proxy qop-options auth 0t 1y 13n| 0t 0y 14n| 0t 0y 8n|A 4.2 Proxy qop-options auth-int 2t 0y 12n| 1t 1y 12n| 1t 0y 7n|A 4.2 Proxy Auth Digest 0t 1y 13n| 0t 0y 14n| 0t 0y 8n|A 4.2 Proxy request qop auth 0t 1y 13n| 0t 0y 14n| 0t 0y 8n|A 4.2 Proxy request qop auth-int 1t 1y 12n| 1t 0y 13n| 1t 0y 7n|A 4.2 Proxy Auth-Info Digest 0t 1y 13n| 0t 0y 14n| 0t 0y 8n|A 4.2 Proxy response qop auth 0t 1y 13n| 0t 0y 14n| 0t 0y 8n|A 4.2 Proxy response qop auth-int
Received on Wednesday, 30 September 1998 07:21:52 UTC