Na Internetu není těžké ocitnout se na historickém smetišti. Jeden den jste nejpoužívanější protokol pro sdílení informací, další den po vás neštěkne pes.
Na přelomu osmdesátých a devadesátých let nebyl Internet rozhodně tak uživatelsky přívětivým místem, jakým je dnes. Jednotlivé služby byly oddělené – něco jste mohli najít na telnetových BBS, něco bylo uloženo na FTP serverech, ovšem bez jakékoliv přímé provázanosti.
Tu si ale chytří lidé na University of Minessota uvědomili, že by bylo dobré volně poházené dokumenty nějak provázat. Vznikl proto hierarchický systém textových menu, zpřístupňující tehdy běžné typy souborů jako je plaintext, obrázky GIF, zvukové záznamy ve formátu WAV a další, přičemž nebylo zcela zapomenuto i na případné jiné, v té době ještě nepoužívané fomáty.

Jak to funguje?
Na portu 70 běží gopherový server a na něm si při prvním přístupu vyžádá gopherový klient nejvyšší gopherové menu (root level menu) v podobě gophermap souboru. Gophermap je textový soubor, v němž ale mají některé řádky speciální význam a klient by s nimi měl podle toho naložit a použít je pro sestavení zmíněného hierarchického menu. V zásadě platí, že pokud řádek začíná některým z vybraných znaků a zároveň je v něm někde tabulátor, pak se jedná právě o takovýto řádek. Několik příkladů za všechny (plná specifikace viz. RFC 1436):
0 Položka odkazuje na soubor (plaintext) 1 Položka odkazuje na adresář 5 Položka odkazuje na spustitelný binární soubor systému MS-DOS 8 Položka odkazuje na textové telnetové spojení G Položka odkazuje na GIF obrázek
„V zásadě“ jsem napsal proto, že kromě těchto vybraných znaků existují ještě znaky další, které zpracovává server a umožňuje tak generovat gopherové soubory do jisté míry dynamicky. Všechny ostatní řádky se pak zobrazí přesně tak, jak jsou v souboru zadány, tedy na rozdíl od HTML se nevynechávají duplicitní mezery a ani se neignorují řádkové zalomení.

Gopher versus WWW
Jak asi patrno z toho, že si tento článek čtete pomocí webového prohlížeče, je jasné kdo historický souboj těchto konkurentů, vzniknuvších zhruba ve stejné době, vyhrál. V roce 1993 vedení University of Minessota rozhodlo, že zpoplatní svůj gopherový server. Vypukla obava, že se časem poplatky mohou rozšířit na celý protokol a proto se gopherové servery začaly masivně přesouvat na web.
Pomineme-li toto hledisko, které lze označit jako špatné manažerské rozhodnutí, má Gopher proti WWW z technického hlediska své klady a zápory. Pozitivem je prakticky nulový nárůst přenášených dat oproti původní informaci. Informace šířená prostřednictvím WWW je popsána jazykem HTML, který (hlavně v dnešní době) snadno způsobí mnohonásobný nárůst dat oproti holé informaci. Jednoduchost protokolu pak zapříčinila to, že klientské programy vznikaly jako houby po dešti, existují pro Windows 3.x, Amiga OS, Commodore 64, Apple II a další.
Nevýhodou pak je, že se na rozdíl od WWW primárně nejedná přímo o protokol určený k prezentaci informací, jen o protokol umožňující distribuci souborů s informacemi. Veškeré texty (mimo položky menu) tedy zobrazuje jako plaintext (případné znakové sady národních abeced pak uživatel musí zkoušet tak dlouho, až se trefí) a není žádná možnost, jak do nich přímo zakomponovat jakékoliv multimediální prvky.

Gopher dnes
Stejně jako obdobné počítačově pravěké technologie, ani Gopher nikdy neumřel zcela. Dnes existuje řádově několik set aktivních gopherových serverů udržovaných nadšenci. Jedním z nich je například i Cameron Kaiser, který je autorem jednoho z moderních gopherových serverů pro unixové systémy a také autorem pluginů do Firefoxu, Chrome nebo prohlížeče v Androidích telefonech, díky nimž je možné si Gopher číst i v prostředí moderního software, který již tento protokol zapomněl. Také přepsal fulltextový vyhledávací engine Veronica, který byl v první polovině devadesátých let na Gopheru tím, čím je nám dnes Google na webu.
Svůj Gopher jsem si na adrese gopher://i-logout.cz založil i já a snažím se na něm mimo jiné vést gopherlog, tedy gopherovou obdobu webového blogu.

Proč o Gopheru vlastně píšu?
Je to pozérství v nejčistší formě. Ukázkovější příklad bych ani nevymyslel. Snad jen kdyby si měl gopher blog jako jediný na světě a sám sis ho četl. A pak bys o tom napsal na http blogísek.
Martin Lér, 2011
Možná je to pozérství, ale tahle technologie se mi prostě líbí. Myslím, že klient by slušel například i ZX Spectru, které by díky SIFu a jeho emulaci sériového terminálu přes TCP/IP nemělo mít se zpracováním gopherových menu žádný problém.
Co vy? Znáte Gopher? Používali jste ho, když byl svět ještě mladý?
Ten Ler je ale vul… co to ma spolecnyho s pozerstvim? At si zustane u svych shnilych jablek a nekeca ti do toho.
Gopher mě minul úplně. Bohužel, já se dostal k internetu až v období rozkvětu BBS a Fidonetu 🙂
to Prober
Gopher je mladší jak než BBS tak než Fidonet. Ostatně BBS ani Fidonet nebyly součástí Internetu, ale byly to samostatné prvky, ne vždy navzájem propojené. Gopher byla alternativa WWW a vznikl zhruba ve stejné době. Já poprvé přišel k Internetu někdy v roce 1996 na gymplu a Gopher ještě žil, i když už většina věcí byla samozřejmě na webu.
Vzhledem k tomu, že Gopher má být spíš rozcestník na dokumenty, a "dokument" v dnešní době je (krom jiného) především PDF, "multimediálnost" (tedy fonty, sazba, obrázky) dokumentu jako takového je zajištěna, naopak je zahována jeho čistota třeba v případě videa – Gopher odkazuje na videosoubor, který je možné si přehrát, zatímco běžná praxe Webu je použít cizorodý embedovaný flashový prvek (obklopený jinými flashi s reklamou a cancy okolo), který odněkud streamuje data.Já osobně jsem spíš zastáncem jednoduchých protokolů jako Gopher, Finger, Talk, … dělaných pro jeden účel, který dělají dobře, než multiplexu, který jednou nefunguje v IE, jindy má rozhozené zobrazování ve Firefoxu, podruhé mu chybí plugin a potřetí vyžaduje Javu…
Mimochodem, snažím se sehnat ten Gopher klient pro Apple II, ale na Retrochallenge ho nikde nemůžu najít.
Jaký pozérství? Už třeba jen to, že teď díky tomuto blogu můžu synovi ukázat "jak to bylo dřív" v reálu a ne jen na obrázku, má hodnotu značnou samo o sobě (mj. Firefox – mám v3.6 – ho pořád umí i bez doplňků, ale ve webovém prohlížeči to nevypadá tak autenticky – chtělo by to pro lepší představu klienta zvlášť)
to dex
Psal jsem na Twitteru autorovi, tak jsem zvědav, jestli odpoví.
to Brad
Jaký operační systém? Na Windows běží i pod W7 původní klient pro Win3.11 nazvaný HGopher z roku 1993, v Unixech lze použít konzolový lynx.
Spíš asi Lynx, už pár let "widlím" jen velmi zřídka, a Lynx existuje mj. i pro DOS, což bude zase autentické úplně nejvíc :-)) (jen musím někde sehnat driver pro síťovku, ale to by snad nemusel být problém)