Gopher

Gopher on Internetissä toimiva hajautettu informaationjakoverkko, jonka World Wide Web pääosin syrjäytti 1990-luvulla. Gopher käyttää saman nimistä verkkoprotokollaa tiedostojen siirtoon.

Verrattuna WWW:hen Gopher on hierarkkisempi. Gopher käyttää yksinkertaista muotoilematonta tekstitiedostomuotoa, joka voi sisältää hyperlinkkejä muihin dokumentteihin. Gopher-palvelimen valikko voi sisältää linkkejä tiedostoihin, linkkejä alihakemistoihin tai muille palvelimille ja navigointi muistuttaa lähinnä hakemiston selaamista. Tiedostot Gopher-palvelimilla ovat usein tekstimuotoisia. Toisaalta gopherilla voi jakaa millaisia tiedostoja vain, jos asiakasohjelma niitä osaa käsitellä.

Gopher on rajoittuneempi kuin HTTP:n ja HTML:n yhdistelmä, mutta myös kevyempi toteuttaa.

Vuonna 1993 Minnesotan yliopisto muutti ohjelmiston lisensointia, jonka jälkeen sen suosio oli laskusuunnassa.

Gopher-palvelimia indeksoi Nevadan yliopiston Veronica-niminen hakukone (Very Easy Rodent-Oriented Net-wide Index to Computer Archives).
Vuonna 2007 Gopher-palvelimia oli jäljellä 86.
2020-luvulla Gopherin suosio lähti uuteen nousuun ja palvelimiä oli vuonna 2020 lähes 400.

Tekniikka

Gopherin kehitti Mark P. McCahillin johtama tiimi Minnesotan yliopistossa.

Ensimmäinen versio protokollasta ilmestyi vuonna 1991 ja vuonna 1993 sille julkaistiin RFC-dokumentti (). Gopher on suunniteltu asiakas-palvelin-arkkitehtuurille.

Gopherin URL on muotoa gopher://palvelin/hakupolku (vertaa HTTP:n http://palvelin/hakupolku). URL:t on tosin määritelty Gopherin jälkeen, eikä se näytä niitä sisäisesti.
IANA on varannut portin numero 70 gopher-protokollalle.

Gopherin hyperteksti
Gopherin valikoissa käytetään tekstitiedostoa, josta käytetään epävirallista nimeä gophermap.

Normaali teksti näytetään sellaisenaan. Tekstirivit (selector line), jotka sisältävät tabulaattori-merkkejä muodostavat linkkejä. Rivi alkaa yhdellä merkillä, joka kuvaa linkitettävän tiedoston tyyppiä. Heti sen perään kirjoitetaan linkin käyttäjälle näkyvä nimi, ja tabulaattorilla erotettuna polku, johon linkki viittaa. Lisäkenttiä käytetään toisille palvelimille linkitettäessä, jolloin niihin lisätään palvelimen isäntänimi ja portti.

Gopherin alkuperäinen määritelmä sisältää 14 linkin tyyppiä. Määriteltyjen tiedostojen joukko on erittäin rajoitettu sisältäen gophermap menun (linkin toiseen menuun), tekstitiedosto, BinHex (Mac), "binäärinen MS-DOS-tiedosto", uuencode-tiedosto, binäärinen tiedosto, GIF, muu kuvatiedosto. Lisäksi gopher voi linkittää telnet-palvelimelle, CCSO-hakepalveluun tai gopherin tekstihakuun (WAIS).
Eräät asiakasohjelmat saattavat tukea lisätyyppejä kuten ääni- tai videotiedosto, WAV, PDF, XML, RTF, "dokumentti". Gopher ei sisällä tukea linkitykselle WWW-palvelimelle, 

Gopherin tiedostonsiirto palauttaa tiedoston sellaisenaan, eikä sisällä mitään metadataa tiedostoista, joten niiden nimen ja tyypin päättely jää asiakasohjelman vastuulle.

Lähteet

Aiheesta muualla 
 Floodgap Systemsin gopher-palvelin, nykyinen Gopherin "etusivu"
 Gopher-palvelin qoox.org 

Internet-standardit
Verkkoprotokollat