Gopher Protocol (Gopher)
(Page 1 of 4)
Lets suppose that I told you I was going to describe a TCP/IP application layer protocol designed for the specific purpose of distributed document search and retrieval. This protocol uses a client/server model of operation, where servers provide links to related resources such as files or programs that users access with client software that displays options for the user to select. You might think that I was talking about the World Wide Web, and for good reason. However, in this case I am actually talking about one of the Webs predecessors: the Gopher Protocol.
A good place to start our discussion of this protocol is with its name, which is well-chosen for a number of reasons. The Gopher Protocol was developed at the University of Minnesota, whose sports teams are called the Golden Gophers (Minnesota is known as the Gopher State). This is the direct origin of the name, but it is also appropriate because the rodent that shares it is known for burrowing, just as the protocol is designed to burrow through the Internet. And of course, the term gopher also applies to a person who performs errands, such as retrieving documents (they go fer this, and go fer that). J
The Gopher Protocol was developed in the late 1980s to provide a mechanism for organizing documents for easy access by students and faculty at the university. The core principle that guided the development of the system was simplicity. Gopher is designed on the basis of a small number of core principles, and uses a very straight-forward mechanism for passing information between client and server devices. It is described in RFC 1436, published in March 1993.
Information accessible by Gopher is stored as files on Gopher servers. It is organized in a hierarchical manner similar to the file system tree of a computer such as a Windows PC or UNIX workstation. Just as a file system consists of a top-level directory (or folder) that contains files and subdirectories (subfolders), Gopher servers present information as a top-level directory that contains resources such as files, and/or subdirectories containing additional resources. Resources on different servers can be linked together using by having them mentioned in each others resource hierarchies. It is also possible for virtual resources to be created that act as if they were files, such as programs that allow Gopher servers to be searched.
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.