Port 70 is the door to Gopherspace. It carries the Gopher protocol, a distributed document search and retrieval system that briefly organized the entire Internet before the World Wide Web swept it away. For two crucial years in the early 1990s, if you wanted to find something on the Internet, you burrowed through Gopher.
What Runs on Port 70
Port 70 carries the Gopher protocol, a client-server system for distributing and retrieving documents across the Internet.1 When a Gopher client connects to port 70, it sends a selector string followed by a carriage return and line feed. The server responds with either a document or a directory listing. An empty selector retrieves the root menu.
The protocol is almost aggressively simple. Connect. Send a line of text. Read until the connection closes. That's it. A functional Gopher server can be written in a few dozen lines of code.
How Gopher Works
Every Gopher session follows the same pattern:
- Client opens a TCP connection to port 70
- Client sends a selector string (or empty line for root)
- Server returns the requested resource
- Connection closes
Directory listings are formatted as tab-delimited lines. Each line contains five fields: item type, display name, selector, hostname, and port. The item type is a single character that tells the client what kind of thing it's looking at.2
The original RFC defined these item types:
| Type | Meaning |
|---|---|
| 0 | Text file |
| 1 | Directory |
| 2 | CSO phone-book server |
| 3 | Error |
| 4 | BinHexed Macintosh file |
| 5 | DOS binary archive |
| 6 | UNIX uuencoded file |
| 7 | Index-Search server |
| 8 | Telnet session |
| 9 | Binary file |
| + | Redundant server |
| g | GIF image |
| I | Image file |
This type system was Gopher's superpower and its limitation. It imposed structure on information. Every document had a place in a hierarchy. But it couldn't represent arbitrary connections between documents. You could go deeper into a tree. You couldn't link sideways.
The Story of Gopher
In 1990, the University of Minnesota had a problem. The university wanted a Campus Wide Information System, a way for faculty, staff, and students to access university information and send email. The administration proposed a mainframe solution.3
Mark McCahill and Farhad Anklesaria disagreed. They believed in client-server architecture, in distributing intelligence to the edges rather than concentrating it in the center. The university committee rejected their approach. It didn't match the institutional vision.
So McCahill and Anklesaria built it anyway. In the spring of 1991, working on a volunteer basis with Paul Lindner, Daniel Torrey, and Bob Alberti, they released Gopher to the world for free via FTP.4
Anklesaria named it. The University of Minnesota mascot is the golden gopher. A gofer is an assistant who "goes for" things. A gopher burrows through the ground to reach its destination. All three meanings applied.5
Gopher spread like wildfire. It was the first time ordinary people could navigate the Internet without memorizing arcane commands. You didn't need to know that the file you wanted was at /pub/docs/papers/1991/spring/report.txt. You just followed the menus: Documents → Papers → 1991 → Spring → Report.
By 1993, Gopher was the dominant way to explore the Internet. Libraries loved it. Universities loved it. Over a thousand Gopher servers came online. Two search engines emerged to index Gopherspace: Veronica (Very Easy Rodent-Oriented Net-wide Index to Computer Archives) at the University of Nevada, Reno, and Jughead (Jonzy's Universal Gopher Hierarchy Excavation And Display) at the University of Utah.6
Then, in February 1993, the University of Minnesota announced that it would charge licensing fees for commercial use of its Gopher server software.7
The fees were modest. The concern wasn't the money. The concern was the precedent. If the university charged for the server, might it charge for independent implementations? For clients? The uncertainty alone was enough.
Two months later, in April 1993, CERN released the World Wide Web into the public domain.8 No fees. No licensing. No uncertainty.
The numbers tell the rest of the story. In 1993, Gopher traffic grew 997%. The Web grew 341,634%.9
The Difference Between Gopher and the Web
Gopher organized information into hierarchies. You navigated by drilling down through menus. Every document had one canonical location in the tree.
The Web connected information through hyperlinks. You navigated by following connections. A document could link to anything, anywhere. There was no single hierarchy, only a web of relationships.
Mark McCahill later reflected on what they missed: "What was actually happening in a lot of people's heads was not, 'I want to go to the library.' It was, 'Hey, this is a platform for advertising and business.' We didn't get that until a little bit too late in the game."10
The Web also had something Gopher lacked: inline images. When NCSA released Mosaic in 1993, the first browser with graphical support, the Web became a visual medium. Gopher remained stubbornly textual. For commercial use, there was no contest.
Security
Gopher has no encryption. No authentication. No sessions. Every request is a single line of text over an unencrypted TCP connection. Every response is raw bytes.
This simplicity was fine in 1991. It's dangerous now.
In 2002, Microsoft patched a buffer overflow vulnerability in Internet Explorer's Gopher handler. The flaw allowed remote code execution through a maliciously crafted Gopher server response.11 Microsoft disabled Gopher support in IE 5.x and 6, then removed it entirely in IE 7.
Modern attackers use Gopher differently. The protocol's raw, unstructured nature makes it useful for Server-Side Request Forgery (SSRF) attacks. Tools like Gopherus generate Gopher payloads that can interact with internal services, inject commands into Redis databases, or exploit FastCGI servers.12 Gopher isn't the vulnerability. It's the vehicle.
Most modern browsers have removed Gopher support entirely. Firefox dropped native support; you need the Overbite extension to access Gopherspace. Chrome never supported it. Safari doesn't either.
Gopher Today
Gopherspace still exists. It's small, hobbyist-driven, and intentionally retro.
As of recent counts, somewhere between 100 and 200 Gopher servers remain active, hosting several million unique selectors.13 Most are maintained by enthusiasts who appreciate the protocol's simplicity and text-focused design. New servers still come online every year.
You can access Gopherspace today:
- Lynx: The text-mode browser has native Gopher support
- Overbite: Firefox extension that enables Gopher
- Floodgap Proxy: Access Gopher via HTTP at gopher.floodgap.com14
Gopher's spiritual successor is the Gemini protocol, created in 2019. Gemini occupies the middle ground between Gopher's austerity and the Web's complexity. It runs on port 1965, requires TLS encryption, and supports a simple hypertext format. Geminispace now hosts around 3,900 "capsules."15
Related Ports
| Port | Protocol | Relationship |
|---|---|---|
| 80 | HTTP | The protocol that replaced Gopher |
| 443 | HTTPS | Secure web, everything Gopher wasn't |
| 21 | FTP | How Gopher was originally distributed |
| 23 | Telnet | Gopher could link to Telnet sessions |
| 1965 | Gemini | Gopher's spiritual successor |
The RFC
RFC 1436, "The Internet Gopher Protocol," was published in March 1993. The authors are listed as F. Anklesaria, M. McCahill, P. Lindner, D. Johnson, D. Torrey, and B. Alberti of the University of Minnesota.16
The document opens with an unusual degree of humility for a protocol specification:
"The Internet Gopher protocol is designed primarily to act as a distributed document delivery system."
No grand claims. No world-changing ambitions. Just a system for delivering documents. The protocol's goals were practical: familiar file-like structure, simple syntax, quick and inexpensive deployment, extensibility.17
In September 2000, seven years after the licensing controversy killed Gopher's momentum, the University of Minnesota quietly re-licensed its Gopher software under the GNU General Public License.18 Too little, too late. The Web had already won.
Frequently Asked Questions
Was this page helpful?