[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

gopher+ questions



Hi all,

I've recently added gopher:// support to my web proxy [0], and now I'm
working on implementing support for gopher+. This is purely for my own
edification and I'm well aware that the ecosystem for gopher+ is
non-existent.

Even though I've already written multiple clients and servers for RFC
1436, I'm finding the gopher+ spec very difficult to wrap my head
around. Besides the document itself being a wall of text that makes my
eyes glaze over, there are just so many new features crammed into
gopher+ that a full-featured client needs to be aware of. And with
many of them, it's not at all obvious how a client should present an
appropriate UI (like supporting multiple document types with +VIEWS,
or when to make a separate network request to retrieve item
attributes).

Here are some gopher+ questions that I have. I appreciate any
historical context or technical answers that anyone on this list might
be able to provide.

1. Just how popular *was* gopher+ back in '93?

I've seen conflicting information on this. The gopher URL RFC 4266
says "Historical note: Gopher+ was uncommon even when Gopher was
popular.". However, a gophercon '94 presentation from UMN claims that
"By December 1993 about 1/3 of gopherspace uses gopher+ servers" and
"Bulk of the new server registrations are gopher+" [1]. Granted, UMN
wasn't exactly an unbiased source on the matter, and I imagine a
significant number of sysadmins were running their software. However,
searching through code on github I can find gopher+ support was added
to Windows and several other gopher clients.

2. Are there any modern software implementations for gopher+?

By "modern" I mean anything from this millennia. The only one that I'm
aware of is pygopherd, which has fairly decent server-side support,
although it lacks +ASK queries and serving multiple +VIEWS.

3. Are there any live servers using gopher+?

Besides the bare minimum to handle gopher+ protocol requests, is
anyone filling in their +ABSTRACT attributes or presenting +ASK forms,
or doing anything interesting with the protocol?

4. Are there any non-standard gopher+ attributes?

Besides the ideas tossed around in the gopher+ paper (+GView, +3D-ICON
and +3D-COORDINATE), are there any other examples of gopher+
attributes that were suggested? Supposedly UMN maintained a registry
for these: "The University of Minnesota announced it would act as a
central registry of Gopher+ data types; anyone proposing to implement
a new named attribute field will submit it for registration to the
Gopher team." [2]

5. Is there a mime-type that describes the response returned for
gopher+ requests?

I'm referring to the gopher+ responses that look like this:

+INFO: 0Salmon dogsFsome selectorFhost2Fport2F+
+ADMIN:
 Admin: Frodo Gophermeister <fng@bogus.edu>
 Mod-Date: August 15, 1992 <19920815185503>
+VIEWS:
 Text/plain: <10k>

Is this supposed to be "application/gopher+-menu"? It's weird that
it's not called out in the spec, whereas the standard
"application/gopher-menu" on the other hand is mentioned by name.

side note: I'm sad to see that http://jumpjet.info has gone offline.
It was a fantastic resource for gopher reference documentation.
Thankfully most of the pages are still available through the Internet
Archive.

Best,
Michael

[0] https://portal.mozz.us
[1] https://web.archive.org/web/20211023205828/https://www.jumpjet.info/Offbeat-Internet/Gopher/Repository/GopherCon/GC94/Presentations/GEN1=1994_State_of_the_Gopher.txt
[2] https://uh-ir.tdl.org/bitstream/handle/10657/5095/Wiggins_1993_TheUniversityofMinnesota%27sInternet.pdf?sequence=1&isAllowed=y


Reply to: