Gopher addressing

Gopher addresses indicate that the gopher protocol should be used to access the information. The Gopher protocol is a simple internet protocol similar to HTTP . It allows the transfer of menus or plain text files. (HTTP expresses both menus and plain text files as special cases of hypertext files). See the gopher protocol notes .

The syntax is, with [] indicating optional parts (see BNF )

gopher:// hostname [: port ] [/gtype/ [selector] ] [ ? search ] There should be no spaces. For example, the following are valid addresses: gopher:// gopher:// gopher:// The W3 address for a gopher item may be derived from the fields of a gopher menu line which has the format
This is the name of the server in internet form. A numeric form (e.g. may be used, by the domain name form (e.g. is preferred. The hostname is mandatory.
This is a numeric port number. If a non-numeric string is used, it must be a defined service name. Note that as there is no central repository for service names (they are defined locaaly for each host), a service name is NOT an appropriate way to specify a port number for a hypertext address. If the port number is omitted the preceding colon must also be omitted. In this case, port number 70 is assumed.
This is a gopher item type number, a (hopefully printable!) ASCII character. Currently these types are all ASCII decimal digit characters. Character "0" (hex 30) signifies a plain text file. Character "1" signifies a Menu. Character "7" signifies a searchable index. Character "8" should not be used in a W3 address: use telnet addressing instead. In general W3 terms, the type is the first part of the path. The rest of the path is the gopher selector string. The type field is a hint to the client as to how to represent the anchor, and how to follow it.
This is the string to be sent to the gopher server to identify the information required.
Tim BL