Gopher (protocol)

[1][2] The Gopher protocol was invented by a team led by Mark P. McCahill[3] at the University of Minnesota.

It offers some features not natively supported by the Web and imposes a much stronger hierarchy on the documents it stores.

[citation needed] Gopher's hierarchical structure provided a platform for the first large-scale electronic library connections.

[4] The Gopher protocol is still in use by enthusiasts, and although it has been almost entirely supplanted by the Web, a small population of actively-maintained servers remains.

[2] The Gopher system was released in mid-1991 by Mark P. McCahill, Farhad Anklesaria, Paul Lindner, Daniel Torrey, and Bob Alberti of the University of Minnesota in the United States.

[5] Its central goals were, as stated in RFC 1436: Gopher combines document hierarchies with collections of services, including WAIS, the Archie and Veronica search engines, and gateways to other information systems such as File Transfer Protocol (FTP) and Usenet.

The general interest in campus-wide information systems (CWISs) in higher education at the time,[6] and the ease of setup of Gopher servers to create an instant CWIS with links to other sites' online directories and resources, were the factors contributing to Gopher's rapid adoption.

The client then sends a string followed by a carriage return followed by a line feed (a "CR + LF" sequence).

According to the protocol, before the connection closes, the server should send a full-stop (i.e., a period character) on a line by itself.

As the source code to a gopher menu, a gophermap is roughly analogous to an HTML file for a web page.

The item type is followed by the user display string (a description or label that represents the item in the menu); the selector (a path or other string for the resource on the server); the hostname (the domain name or IP address of the server), and the network port.

Gopher client authors improvised item types h (HTML), i (informational message), and s (sound file) after the publication of RFC 1436.

Other features of Gopher+ include: These are clients, libraries, and utilities primarily designed to access gopher resources.

Similarly, certain server packages such as GN and PyGopherd have built-in Gopher to HTTP interfaces.

For Mozilla Firefox and SeaMonkey, Overbite[17] extensions extend Gopher browsing and support the current versions of the browsers (Firefox Quantum v ≥57 and equivalent versions of SeaMonkey): OverbiteWX includes support for accessing Gopher servers not on port 70 using a whitelist and for CSO/ph queries.

In the past an Overbite proxy-based extension for these browsers was available but is no longer maintained and does not work with the current (>23) releases.

Gopher popularity was at its height at a time when there were still many equally competing computer architectures and operating systems.

As a result, there are several Gopher clients available for Acorn RISC OS, AmigaOS, Atari MiNT, Conversational Monitor System (CMS), DOS, classic Mac OS, MVS, NeXT, OS/2 Warp, most Unix-like operating systems, VMS, Windows 3.x, and Windows 9x.

Number of Gopher servers from 2012 to 2022