[gopher] Gophernicus, caps and revival of gopher++

Cameron Kaiser spectre at floodgap.com
Sat Sep 11 15:48:43 UTC 2010


> Inspired by brother Jay of quix.us fame I started coding gophery stuff 
> again...
> 
> First thing I did this morning was adding native support for Cameron's 
> caps.txt (see gopher://gophernicus.org/0/caps.txt for a live example). 
> The format of my caps.txt is pretty identical to that from Cameron, 
> apart from the comments which I removed (keeps the code cleaner).  I did 
> add one key to it which I think it fairly important (forget the Output* 
> headers, those were just for testing):
> 
> ServerProtocol=RFC1436
> 
> This tells the client which protocol the server confirms to. I guess 
> pygopherd could change that to "gopher+":
> 
> ServerProtocol=gopher+
> 
> Or maybe like this:
> 
> ServerProtocol=RFC1436, gopher+
> 
> Or how about
> 
> ServerProtocol=RFC1436
> ServerProtocol=gopher+

I'd rather have non-duplicated keys, so I'd prefer

ServerProtocol=RFC1436,gopher+

or some such. But I agree, this is an optimal use for caps:

> This got me thinking about my failed attempt at extending the protocol 
> to make it possible for the client to include metadata in the request. I 
> had to scrap the extensions because some servers just didn't like the 
> extra stuff... So, with caps.txt the client could first query the server 
> about the protocol, and if caps says it's ok to have extra metadata then 
> it could send 'em.

However, as an optimization I think we can assume that all servers accept
RFC1436, so how about

ServerExtensions=gopher+

Of course, the idea is that caps should be a wide-open interface and people
can use whatever keys they think are meaningful. At some point, however, like
MIME types we should publish a canonical list of widely recognized caps keys.

I should also publish a reference implementation of how to interpret a caps
file for interested client authors, though I think the file format is pretty
self-explanatory.

-- 
------------------------------------ personal: http://www.cameronkaiser.com/ --
  Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser at floodgap.com
-- Perl scripting: the ultimate open source software. -------------------------



More information about the Gopher-Project mailing list