Re: Gopher+ Considered Harmful

Dan Connolly (connolly@pixel.convex.com)
Wed, 09 Dec 92 21:15:36 CST


Message-Id: <9212100315.AA14084@pixel.convex.com>
Subject: Re: Gopher+ Considered Harmful
To: www-talk@nxoc01.cern.ch
Date: Wed, 09 Dec 92 21:15:36 CST
From: Dan Connolly <connolly@pixel.convex.com>

In article <75220@apple.apple.COM> dell@Apple.COM (Thomas E. Dell) writes:
[ an excellent assesment of Gopher and Gopher+ prototocls ...]

>Proposal:
> 
>  Draft a protocol modeled after ideas present in SMTP, NNTP, and
>  FTP, with a few commands to support existing functionality.

The World-Wide Web project is also taking on the next major
revision of their protocol. I have suggested to them that NNTP
makes a good basis, and they were agreeable.

I sincerely hope that Gopher+ and HTTP2 (HyperText Transfer
Protocol, version 2) merge into an NNTP-style protocol.

I suggest we even make it NNTP compatible, except that it
would be stateless: the server processes one transaction and
then terminates the connection. And in addtion to requesting
articles by number or by ID, we would add the ability to
request them by path, a quoted string.

For exmaple:

   S:      (listens at TCP port XXX)
   C:      (requests connection on TCP port XXX)
   S:      203 wombat NNTP++ server ready
   C:      BODY "foo/bar/xxx.z"
   S:      222 "foo/bar/xxx.z" article retrieved. body text follows
           (body text here)
	   .
   S:      400 service discontinued

We would use the MIME standard for multimedia. We could allow
binary content-transfer-encoding on 8-bit clean connections, and
thus avoid the bandwidth needed to encode raw data.

   S:      (listens at TCP port XXX)
   C:      (requests connection on TCP port XXX)
   S:      203 wombat NNTP++ server ready
   C:      ARTICLE "foo/bar/xxx.z"
   S:      224 "foo/bar/xxx.z" All of article follows
   S:      (transmits article in RFC822 format, with a raw binary body:)
	    (... other headers)
	    Mime-Version: 1.0
	    Content-Type: image/gif
	    Content-Transfer-Encoding: binary
	    Content-Octets: 1274

	    (1274 bytes of raw data here)

   S:      400 service discontinued

Seems like a good idea to me. What does anybody else think?

Dan