Message-Id: <9212080422.AA28362@pixel.convex.com> To: www-talk@nxoc01.cern.ch Subject: HTTP2: base it on NNTP? Date: Mon, 07 Dec 92 22:22:26 CST From: Dan Connolly <connolly@pixel.convex.com> The functionality of the HTTP2 has a lot in common with NNTP: Commands: HTTP NNTP GET u BODY GET u v ARTICLE HEAD HEAD PUT POST or IHAVE These are novel to HTTP: CHECKOUT CHECKIN TEXTSEARCH u v Status messages: HTTP NNTP OK 2xx - command ok ERROR 4xx - command correct, but could not be completed 5xx - command unimplemented or incorrect REDIRECTION FORWARD etc. The main technical difference between the protocols is that NNTP involves a few more round-trips here and there: the server starts the dialogue with a "200 - server ready" message. The HTTP client just assumes it's ready if it accepted the connection. This save half a round-trip, but it's doesn't allow servers to say things like "502 - This server only available from 6pm to 8am". Also, the NNTP IHAVE and POST commands involve more round-trips: S: (listens at TCP port 119) C: (requests connection on TCP port 119) S: 201 Foobar NNTP server ready (no posting) C: IHAVE <4106@ucbvax.ARPA> S: 335 News to me! <CRLF.CRLF> to end. C: (sends article) C: . S: 235 Article transferred successfully. Thanks. But lots of stuff like error handling, status codes, and the like have been laid out. I think it would be very useful to include the NNTP NEWNEWS command in W3. (client sends NEWNEWS <date> and server responds with a list of articles newer than <date>) The NNTP commands HEAD, BODY, ARTICLE, etc. take a number or a message-id as an argument. We could extend the syntax to include URL's as quoted strings. Then we'd add a few commands for format negotiation, locking, and so on. I think it's a nice clean framework to work in. Dan