Gopher: umarły świstak?

Zanim ekrany komputerów podłączonych do Internetu opanowały hipertekstowe strony WWW, swój okres świetności przeżył system prezentowania informacji określany nazwą gopher. Słowo to oznacza pewien amerykański gatunek gryzonia, kopiącego tunele podobnie jak nasz kret, a zarazem - w innym swoim znaczeniu - osobę "na posyłki", przynoszącą nam na nasze żądanie zamówione rzeczy. Obydwa te aspekty - zarówno "przynoszenie" zamówionych przez nas informacji z odległego komputera, jak i "krecie tunele" łączące serwery obsługujące tę usługę - odnaleźć można w sposobie działania systemu.

Gopher (w Polsce usługę tę zwykło określać się mianem "świstak") wydaje się być znacznie uproszczonym "przodkiem" WWW - w obu tych systemach odnaleźć można wiele cech wspólnych. Choć w rzeczywistości oba zostały wynalezione właściwie jednocześnie, a nawet idea WWW powstała nieco wcześniej, to jako pierwszy zaczął być powszechnie stosowany właśnie gopher, stworzony w 1991 r. na University of Minnesota. Szerokie rozpowszechnienie systemu WWW nastąpiło natomiast dopiero w dwa-trzy lata później. Niewątpliwie wynikało to ze znacznie prostszej postaci informacji prezentowanej przez gophera i związaną z tym większą łatwością stworzenia oprogramowania klienta, jak i jego mniejszymi wymaganiami.

Gopher pozwala przeglądać zasoby Internetu (a ściślej, zasoby serwerów tej usługi) za pomocą prostego, drzewiastego systemu menu. Po uruchomieniu klienta gophera pojawia nam się - analogicznie jak w przypadku klienta WWW - główne menu domyślnego serwera ustalonego w konfiguracji programu. Składa się ono, jak to można zobaczyć na rys.1, z szeregu wierszy tekstu opisujących, jeden pod drugim, poszczególne pozycje menu. Jak jest to typowo przyjęte w większości programów komputerowych, wyboru z takiego menu możemy dokonywać przesuwając wskaźnik (w tym przypadku ma on postać strzałki) na odpowiedni wiersz klawiszami kursora i zatwierdzając nasz wybór klawiszem ENTER. Każda z tych pozycji może reprezentować albo menu niższego poziomu, zawierające kolejny wykaz możliwości do wyboru, albo bezpośrednio już "końcowy" dokument, zawierający "surową" informację (to wyraźne rozgraniczenie menu od dokumentu jest podstawową cechą różniącą gophera od WWW, gdzie ze względu na obecność w treści dokumentu odsyłaczy rozróżnienie takie traci sens - dokumenty mogą być równocześnie listami odsyłaczy do innych dokumentów). Owe "końcowe" dokumenty mogą być, podobnie jak w WWW, różnych typów. Podstawowym rodzajem dokumentu występującym w systemie gopher jest plik tekstowy. Po wybraniu klawiszem ENTER pozycji w menu reprezentującej taki rodzaj dokumentu jego treść jest bezpośrednio wyświetlana na naszym ekranie (z możliwością ewentualnego zapisu na dysk). Przeszukiwalny indeks (typowo np. spis adresowy) wymaga najpierw podania klucza (np. nazwiska), według którego chcemy wyszukiwać informacje w bazie danych; po czym na ekranie zostanie wyświetlone menu zawierające wszystkie pozycje z bazy, w których znaleziony został szukany tekst. Plik binarny jest po wciśnięciu ENTER transmitowany do naszego komputera w sposób analogiczny jak przy ftp. Niektóre z plików binarnych są specjalnie oznaczone jako "graficzne" czy "dźwiękowe". Część klientów gophera potrafi tak oznaczone pliki potraktować odpowiednio do ich przeznaczenia - po przetransmitowaniu pliku na lokalny dysk uruchamiany jest określony program pomocniczy, wyświetlający lub odtwarzający go. Ostatni wreszcie rodzaj dokumentów spotykanych w menu gophera reprezentuje sesje telnetowe do określonych komputerów - po wybraniu z menu takiej pozycji gopher wywołuje automatycznie klienta telnetu dla nawiązania połączenia.

Podobnie jak WWW, gopher jest systemem rozproszonym, co oznacza, że poszczególne pozycje z menu mogą odwoływać się do danych znajdujących się na zupełnie innych komputerach niż ten, z którego początkowo to menu załadowaliśmy. O ile jednak w WWW utworzenie takiego odwołania sprowadza się po prostu do umieszczenia odpowiedniego URL-a w treści dokumentu, a ewentualne połączenie z tym URL-em realizowane jest samodzielnie przez przeglądarkę (klienta) WWW, o tyle w gopherze w procesie tym bierze aktywny udział serwer, i w jego plikach konfiguracyjnych trzeba opisać wszystkie niezbędne połączenia - właśnie owe "krecie tunele" łączące poszczególne serwery. W gopherze nie ma prostego sposobu zapisu lokalizacji konkretnego dokumentu (takiego jak URL); używane w plikach konfiguracyjnych serwerów tzw. selektory, opisujące sposób dostępu do poszczególnych dokumentów z menu, mają dużo bardziej złożoną i nieczytelną budowę.

Używanie gophera wymaga oczywiście - jak w przypadku każdej usługi Internetowej - posiadania odpowiedniego programu klienta na swoim komputerze i nawiązaniu połączenia z którymś z serwerów realizujących tę usługę. Gopher powstawał w czasach, gdy powszechnym sposobem dostępu do Internetu był dostęp terminalowy za pośrednictwem konta na jakimś komputerze Unixowym, wyposażonym najczęściej jedynie w oprogramowanie trzech podstawowych usług: telnetu, ftp i e-mailu, ewentualnie Usenet news. Stąd też wielu użytkowników nie miało dostępu do klienta gophera bezpośrednio na swoim komputerze. Dla nich uruchomiono więc cały szereg tzw. klientów publicznych - dostępnych poprzez zalogowanie się telnetem na konto o nazwie "gopher" na odpowiednim komputerze, na którym taki publiczny klient został udostępniony. Wiele z takich publicznych klientów nadal funkcjonuje do dzisiaj (w Polsce jednym z nich jest np. gopher.mat.uni.torun.pl). Taki sposób pracy nie jest jednak zalecany na dłuższą metę; jest też niewygodny, gdyż nie umożliwia np. zapisywania plików na własny dysk - dlatego lepiej mieć zainstalowanego własnego klienta. Oryginalny klient gophera napisany był - jak się nietrudno domyślić - na Unixa, istnieją jednak jego realizacje także dla innych systemów operacyjnych, w tym dla MS-DOS i Windows (przykładowy wygląd ekranu jednego z klientów gophera dla Windows - WSGopher - przedstawiony jest na rys.2). W przypadku środowisk typu Windows instalowanie samodzielnego klienta gophera wydaje się być jednakże obecnie już raczej pozbawione sensu, ze względu na to, że możliwość czytania dokumentów z serwerów gophera mają wszystkie przeglądarki WWW (dzięki URL-om typu "gopher:"), zaś górują one nad zwykłym klientem gophera możliwością podania URL-a od razu do interesującego nas dokumentu, bez konieczności przechodzenia od głównego menu serwera przez wszystkie szczeble pośrednie, co jest nieuniknione w przypadku "zwykłego" gophera. Instalowanie klienta gophera ma jedynie sens w przypadku pracy w trybie czysto tekstowym, gdyż jest on wygodniejszy w obsłudze od tekstowych przeglądarek WWW.

Administrator konfigurujący serwer gophera winien zadbać, aby z serwera tego było "wyjście na świat" - jedną z pozycji menu powinno być odwołanie do listy wszystkich innych serwerów na świecie. Lista taka jest przechowywana w wielu różnych punktach "gopherprzestrzeni" (gopherspace - takim terminem określano sieć połączonych z sobą serwerów gophera, zanim rozpowszechnił się system WWW), a jej oryginalnym źródłem jest oczywiście University of Minnesota (gopher.micro.umn.edu) - miejsce "narodzin" gophera. Na liście tej znajduje się też system wyszukiwawczy o nazwie Veronica (podobno ma być to skrót od Very Easy Rodent-Oriented Network Index to Computerized Archives :-)), poszukujący w "gopherprzestrzeni" dokumentów zawierających zadane słowa - klucze.

W menu wielu serwerów gophera znaleźć też można połączenia z innymi usługami sieciowymi: możliwe jest np. "ściąganie" za pośrednictwem gophera plików z archiwów anonymous ftp bądź czytanie (niestety bez możliwości wysyłania) wiadomości systemu Usenet. I znowu w przeciwieństwie do WWW, gdzie korzystanie z tych usług należy do standardowych możliwości przeglądarki (URL-e typu "ftp:", "news:"), udostępnienie np. archiwum anonymous ftp przez gophera wymaga odpowiednich przygotowań po stronie serwera - zainstalowania specjalnego oprogramowania "pośredniczącego" (tzw. bramki) między usługami. Udostępniane jest tym sposobem zwykle jedno lub kilka konkretnych archiwów - nie ma możliwości dostania się gopherem do dowolnego serwera ftp, jak można to zrobić za pomocą przeglądarki WWW.

Wobec ogromnego rozpowszechnienia serwerów i przeglądarek WWW gopher niewątpliwie swoje najlepsze czasy ma już za sobą. Usługa ta powoli umiera: WWW nie tylko zawiera w sobie wszystkie jej możliwości, ale na dodatek serwery WWW są znacznie prostsze i mniej pracochłonne w konfiguracji. Tam, gdzie wcześniej zainstalowane były serwery gophera, funkcjonują one wprawdzie przeważnie nadal, ale nie uruchamia się już raczej nowych serwerów, a informacje z tych istniejących powoli przenosi się na serwery WWW (dobrym przykładem może tu być - kiedyś bardzo rozbudowany - gopher Akademii Górniczo-Hutniczej w Krakowie). Być może za kilka lat z gopherem spotykać się będziemy tylko w starych książkach o Internecie...



Wybrane serwery gophera w Polsce

(opracowano na podstawie listy Polskich Zasobów Sieciowych Rafała Maszkowskiego, dostępnej m.in. pod http://www.uci.agh.edu.pl/pzs/pzs.html)

gopher.ae.poznan.pl gopher.man.lodz.pl
gopher.ch.pwr.wroc.pl gopher.mat.uni.torun.pl
gopher.cyfronet.krakow.pl gopher.nask.org.pl
gopher.ia.pw.edu.pl gopher.pwr.wroc.pl
gopher.icm.edu.pl gopher.uci.agh.edu.pl
gopher.immt.pwr.wroc.pl plearn.edu.pl


Jarosław Rafa 1996. Tekst udostępniony na licencji Creative Commons (uznanie autorstwa - użycie niekomercyjne - bez utworów zależnych). Kliknij tutaj, aby dowiedzieć się, co to oznacza i co możesz z tym tekstem zrobić. W razie jakichkolwiek wątpliwości licencyjnych bądź w celu uzyskania zgody na rozpowszechnianie wykraczające poza warunki licencji proszę o kontakt e-mailem: raj@ap.krakow.pl.

Wersja HTML opracowana 3.04.96.


Powrót do wykazu artykułów o Internecie Statystyka