Projects

Internet Gopher

The Minnesota protocol that organized the network before the web displaced it.

Published: Updated: Read: 2 min
A text-mode Gopher client filling a dark terminal screen. A centered heading reads Internet Gopher Information Client v1.1, and beneath it, Information About Gopher, above a numbered list of fourteen entries: About Gopher, Search Gopher News, Gopher News Archive, the comp.infosystems.gopher newsgroup, the software distribution, protocol information, the University of Minnesota licensing policy, frequently asked questions, and others. An arrow marks item 12. A status line at the foot reads: Press ? for Help, q to Quit, u to go up a menu. Page 1 of 1.
The top-level menu of the Internet Gopher Information Client, version 1.1, as printed in RFC 1580 (March 1994). Set from the document's text in this site's monospaced face; the arrow marks the client's cursor.
On this page

Before the World Wide Web gained dominance, the Internet Gopher protocol provided a menu-driven interface to internet resources. Developed at the University of Minnesota in 1991 with NSF support, Gopher organized information in a hierarchical structure that was intuitive for early internet users.

The Protocol

Gopher was specified in RFC 1436 (March 1993), written by six authors at the University of Minnesota. A client opened a connection to a server, sent an empty line, and received a menu: one item to a line, each carrying a type character, a display string to show the user, a selector to ask for next, and the host and port that would serve it. The leading character told the client what it was dealing with: a document, a directory, or a search service. Nothing had to be known about a server in advance to draw its menu and follow a selection from it.

The screen at the head of this page is that menu as a reader of the day would have met it, printed in RFC 1580 (March 1994), a guide to the network’s tools published while the backbone was still running.

Development and Features

Gopher was designed to provide simple, consistent access to distributed documents and services. Its key features included:

  • Hierarchical menu system for navigating information
  • Distributed architecture allowing institutions to maintain their own Gopher servers
  • Support for various document types and services
  • Search capabilities through the Veronica and Jughead indexing systems
  • Low bandwidth requirements, making it accessible even on slow connections

At its peak in 1993-1994, the “Gopherspace” included over 10,000 servers worldwide. Many academic institutions used Gopher to organize and share campus information, library catalogs, and research materials.

NSFNET Connection

NSFNET provided the essential infrastructure for Gopher’s growth and adoption:

  • The backbone’s increasing capacity supported the growing number of Gopher servers and users
  • Regional networks provided training and support for institutions implementing Gopher services
  • NSF-funded supercomputing centers hosted important Gopher resources and developed enhanced Gopher tools
  • The hierarchical structure of Gopherspace mirrored the hierarchical design of NSFNET itself

While Gopher was eventually overshadowed by the World Wide Web, it represented an important step in making internet resources accessible to non-technical users and established concepts of distributed information services that influenced later web development.

MinnPost’s history of the Gopher protocol recounts its rise and its decline from Minneapolis, where it was written.

Cite this page

NSF.net. “Internet Gopher.” NSFNET: A History of the National Science Foundation Network. Last modified July 30, 2026. https://nsf.net/projects/gopher.

Also in Projects