| Internetprotokollfamilie |
|---|
| Anwendungsschicht |
| Transportschicht |
| Internetschicht |
| Verbindungsschicht |
Gopher ( / ˈ ɡ oʊ f ər / ) ist einKommunikationsprotokoll,das für die Verteilung, Suche und den Abruf von Dokumenten inInternetprotokoll-Netzwerken entwickelt wurde. Das Gopher-Protokoll und seine Benutzeroberfläche sind menügesteuert und stellteninihren AnfängenWorld Wide Web, verloren jedoch schließlich an Bedeutung und wurden vom Hypertext Transfer Protocol (HTTP) abgelöst. Das Gopher-Ökosystem wird oft als der eigentliche Vorläufer des World Wide Web angesehen. [ 1 ] [ 2 ]
Verwendung

Das Gopher-Protokoll wurde von einem Team um Mark P. McCahill [ 3 ] an der University of Minnesota entwickelt . Es bietet einige Funktionen, die vom Web nicht nativ unterstützt werden, und etabliert eine deutlich strengere Hierarchie für die gespeicherten Dokumente. Seine textbasierte Menüoberfläche eignet sich hervorragend für Computerumgebungen, die stark auf textorientierte Remote-Terminals angewiesen sind – wie sie zum Zeitpunkt seiner Entwicklung im Jahr 1991 noch weit verbreitet waren. Die Einfachheit des Protokolls ermöglichte zudem eine Vielzahl von Client-Implementierungen.
Die hierarchische Struktur von Gopher bot eine Plattform für die ersten groß angelegten elektronischen Bibliotheksverbindungen. [ 4 ] Das Gopher-Protokoll wird noch immer von Enthusiasten genutzt, und obwohl es fast vollständig vom Web abgelöst wurde, existiert weiterhin eine kleine Anzahl aktiv gewarteter Server. [ 2 ]
Ursprünge
Das Gopher-System wurde Mitte 1991 von Mark P. McCahill, Farhad Anklesaria, Paul Lindner, Daniel Torrey und Bob Alberti von der University of Minnesota in den Vereinigten Staaten veröffentlicht. [ 5 ] Seine zentralen Ziele waren, wie in RFC 1436 dargelegt :
- Eine dateiähnliche hierarchische Struktur, die den Benutzern vertraut sein dürfte.
- Eine einfache Syntax.
- Ein System, das schnell und kostengünstig erstellt werden kann.
- Erweiterbarkeit der Dateisystemmetapher; beispielsweise die Möglichkeit, Suchvorgänge hinzuzufügen.
Gopher kombiniert Dokumentenhierarchien mit Sammlungen von Diensten, darunter WAIS , die Suchmaschinen Archie und Veronica sowie Gateways zu anderen Informationssystemen wie File Transfer Protocol (FTP) und Usenet .
Das allgemeine Interesse an campusweiten Informationssystemen (CWIS) im Hochschulwesen zu dieser Zeit [ 6 ] und die einfache Einrichtung von Gopher-Servern zur Erstellung eines sofortigen CWIS mit Verknüpfungen zu Online-Verzeichnissen und Ressourcen anderer Standorte waren die Faktoren, die zur schnellen Verbreitung von Gopher beitrugen.
Der Name wurde von Anklesaria als Wortspiel mit den verschiedenen Bedeutungen des Wortes „Gopher“ (Gopher) geprägt. [ 7 ] Das Maskottchen der University of Minnesota ist der Gopher , [ 8 ] ein Gofer ist ein Helfer, der Dinge „holt“, und ein Gopher gräbt sich durch die Erde, um einen gewünschten Ort zu erreichen. [ 9 ]
Abfall
Das World Wide Web steckte 1991 noch in den Kinderschuhen, und die Gopher-Dienste etablierten sich schnell. [ 10 ] Ende der 1990er-Jahre stagnierte das Wachstum von Gopher. Mehrere Faktoren trugen zu dieser Stagnation bei:
- Im Februar 1993 kündigte die University of Minnesota an, Lizenzgebühren für die Nutzung ihrer Implementierung des Gopher-Servers zu erheben. [ 11 ] [ 9 ] Nutzer befürchteten, dass auch für unabhängige Implementierungen Gebühren anfallen könnten. [ 12 ] [ 13 ] Die Verbreitung von Gopher stagnierte, was dem World Wide Web zugutekam, das das WWW im April 1993 als Public Domain freigab [ 14 ] und dessen Nutzung vom CERN unterstützt wurde . [ 15 ] Im September 2000 lizenzierte die University of Minnesota ihre Gopher-Software unter der GNU General Public License neu . [ 16 ]
- Die Funktionalität des Gopher-Clients wurde schnell vom frühen Webbrowser Mosaic nachgebildet, der dessen Protokoll übernahm.
- Gopher hat eine strengere Struktur als die freie Hypertext Markup Language ( HTML ) des Webs. Jedes Gopher-Dokument hat ein definiertes Format und einen festgelegten Typ, und der typische Benutzer navigiert über ein serverseitig definiertes Menüsystem, um zu einem bestimmten Dokument zu gelangen. Dies unterscheidet sich deutlich von der Art und Weise, wie Benutzer im Web nach Dokumenten suchen.
- Nichteinhaltung des Modells offener Systeme und schlechte Publicity im Vergleich zum World Wide Web [ 17 ].
Gopher wird von seinen Anhängern weiterhin aktiv genutzt, und es gab Versuche, Gopher auf modernen Plattformen und Mobilgeräten wiederzubeleben. Ein Beispiel dafür ist das Overbite-Projekt [ 18 ] , das verschiedene Browsererweiterungen und moderne Clients bereitstellt.
Serverbestand

- Im Jahr 2012 waren noch etwa 160 Gopher-Server von Veronica-2 indexiert [ 19 ] , was ein langsames Wachstum seit 2007 widerspiegelt, als es weniger als 100 waren [ 20 ] . Sie werden in der Regel nur selten aktualisiert. Auf diesen Servern indexierte Veronica etwa 2,5 Millionen eindeutige Selektoren. Jedes Jahr wurden einige neue Server von Hobbyisten eingerichtet; seit 1999 wurden über 50 Server eingerichtet und in die Floodgap-Liste aufgenommen [ 21 ]. Ein Snapshot von Gopherspace aus dem Jahr 2007 kursierte auf BitTorrent und war auch 2010 noch verfügbar [ 22 ]. Aufgrund der Einfachheit des Gopher-Protokolls werden neue Server oft scherzhaft eingerichtet oder Browser mit Gopher-Unterstützung ausgestattet , vor allem am 1. April [ 23 ] .
| Indexdatum | Gopher-Server | Einzigartige Selektoren | |
|---|---|---|---|
| 19. März 2007 | 86 | 740.000 | [ 20 ] |
| 3. Januar 2008 | 148 | 1.220.665 | [ 24 ] |
| 2012 | ca. 160 | ca. 2.500.000 | |
| November 2014 | 144 | ca. 3.000.000 | |
| 15. Oktober 2015 | 144 | 3.314.158 | [ 25 ] |
| 25. April 2016 | 137 | 4.396.061 | [ 26 ] |
| 15. August 2017 | 146 | 5.176.602 | [ 27 ] |
| Mai 2018 | 260 | ca. 3.700.000 | |
| 10. Dezember 2018 | 297 | 3.946.750 | [ 28 ] |
| Mai 2019 | 320 | ca. 4.200.000 | |
| Januar 2020 | 395 | ca. 4.500.000 | |
| 18. November 2020 | 358 | 5.973.552 | [ 29 ] |
| 18. Oktober 2021 | 343 | 5.294.599 | [ 30 ] |
| 11. Oktober 2022 | 333 | 5.098.733 | [ 31 ] |
| 17. Februar 2024 | 323 | 5.113.957 | [ 32 ] |
| 19. Juni 2025 | 296 | 5.113.382 | [ 33 ] |
| 29. August 2025 | 432 | 5.254.158 | [ 34 ] |
| 28. Januar 2026 | 411 | 5.856.111 | [ 35 ] |
Technische Details
Die Vorstellung von Wissen im „Gopher-Raum“ oder einer „Cloud“ als spezifische Information in einer bestimmten Datei und die Bedeutung des FTP-Servers beeinflussten die Technologie und die daraus resultierende Funktionalität von Gopher.
Merkmale des Taschenratten
Gopher ist so konzipiert, dass es wie ein einbindbares, schreibgeschütztes globales Netzwerkdateisystem funktioniert und sich auch so verhält (und es gibt Software wie gopherfs , die einen Gopher-Server als FUSE- Ressource einbinden kann ). Alles, was mit Datendateien auf einer CD-ROM möglich ist , ist auch mit Gopher möglich.
Ein Gopher-System besteht aus einer Reihe hierarchischer, verlinkter Menüs. Die Auswahl der Menüpunkte und -titel wird vom Serveradministrator gesteuert.
Ähnlich wie eine Datei auf einem Webserver kann eine Datei auf einem Gopher-Server von jedem anderen Gopher-Server aus als Menüpunkt verlinkt werden. Viele Server nutzen diese serverübergreifende Verlinkung, um dem Benutzer ein Verzeichnis anderer Server bereitzustellen.
Protokoll
Das Gopher-Protokoll wurde erstmals in RFC 1436 beschrieben . Die Internet Assigned Numbers Authority (IANA) hat dem Gopher - Protokoll den TCP- Port 70 zugewiesen. Das Protokoll ist einfach auszuhandeln, sodass das Surfen im Internet ohne Client möglich ist.
Benutzeranfrage
Zuerst baut der Client eine TCP-Verbindung zum Server auf Port 70, dem Standard-Gopher-Port, auf. Anschließend sendet er eine Zeichenkette, gefolgt von einem Wagenrücklauf und einem Zeilenvorschub (die Sequenz „CR + LF“). Dies ist der Selektor, der das abzurufende Dokument identifiziert. Wäre der Selektor eine leere Zeile, würde das Standardverzeichnis ausgewählt.
Serverantwort
Der Server antwortet daraufhin mit dem angeforderten Element und schließt die Verbindung. Gemäß dem Protokoll sollte der Server vor dem Schließen der Verbindung einen Punkt in einer eigenen Zeile senden. Allerdings halten sich nicht alle Server an diesen Teil des Protokolls, und es kann vorkommen, dass ein Server die Verbindung schließt, ohne einen abschließenden Punkt zurückzusenden. Die Antwort des Servers ist in der Regel eine Text- oder Binärressource. Alternativ kann die Ressource auch ein Menü sein: eine strukturierte Textressource, die Verweise auf andere Ressourcen enthält.
Aufgrund der Einfachheit des Gopher-Protokolls ermöglichen Tools wie netcat das einfache Herunterladen von Gopher-Inhalten über die Kommandozeile:
$ echo jacks/jack.exe | nc gopher.example.org 70 > jack.exe Das Protokoll wird auch von cURL seit Version 7.21.2-DEV unterstützt, die im Jahr 2010 veröffentlicht wurde. [ 36 ]
Suchanfrage
Dem Selektorstring in der Anfrage kann optional ein Tabulatorzeichen und ein Suchstring folgen. Dies wird von Elementtyp 7 verwendet.
Quellcode eines Menüs
Gopher-Menüpunkte werden durch tabulatorgetrennte Zeilen in einer Textdatei definiert . Diese Datei wird auch als Gophermap bezeichnet . Als Quellcode eines Gopher-Menüs ist eine Gophermap vergleichbar mit einer HTML- Datei für eine Webseite . Jede tabulatorgetrennte Zeile (Selektorzeile genannt ) beschreibt dem Client den Menüpunkt: seine Funktion, seinen Namen und sein Ziel. Der Client zeigt die Menüpunkte in der Reihenfolge an, in der sie in der Gophermap definiert sind.
Das erste Zeichen in einer Selektorzeile gibt den Elementtyp an und teilt dem Client mit, auf welche Art von Datei oder Protokoll der Menüpunkt verweist. Dies hilft dem Client bei der Entscheidung, wie er damit umgehen soll. Die Elementtypen von Gopher sind eine einfachere Vorstufe des Medientypsystems , das im Web und bei E-Mail-Anhängen verwendet wird .
Auf den Elementtyp folgen die Benutzeranzeigezeichenfolge (eine Beschreibung oder Bezeichnung, die das Element im Menü repräsentiert); der Selektor (ein Pfad oder eine andere Zeichenfolge für die Ressource auf dem Server); der Hostname (der Domänenname oder die IP-Adresse des Servers) und der Netzwerkport .
Alle Zeilen in einem Gopher-Menü werden mit „CR + LF“ abgeschlossen.
Beispiel einer Selektorzeile im Menüquelltext: Die folgende Selektorzeile erzeugt einen Link zum Verzeichnis „/home“ der Subdomain gopher.floodgap.com auf Port 70. Der Elementtyp 1 gibt an, dass es sich bei der verlinkten Ressource um ein Gopher-Menü handelt. Die Zeichenkette „Floodgap Home“ wird dem Benutzer beim Aufruf des Beispielmenüs angezeigt.
1Floodgap Home /home gopher.floodgap.com 70
| Artikeltyp | Benutzeranzeigezeichenfolge | Wähler | Hostname | Hafen |
|---|---|---|---|---|
| 1 | Floodgap-Haus | /heim | gopher.floodgap.com | 70 |
Artikeltypen
Im Quellcode eines Gopher-Menüs gibt ein einstelliger Code an, welche Art von Inhalt der Client erwarten kann. Dieser Code kann entweder eine Ziffer oder ein Buchstabe des Alphabets sein; Groß- und Kleinschreibung wird beachtet .
Die technische Spezifikation für Gopher, RFC 1436 , definiert 14 Elementtypen. Die spätere Gopher+-Spezifikation definierte drei weitere Typen. [ 37 ] Ein einstelliger Code gibt an, welche Art von Inhalt der Client erwarten kann. Der Elementtyp ist ein Fehlercode für die Ausnahmebehandlung . Gopher-Client-Entwickler improvisierten nach der Veröffentlichung von RFC 1436 Elementtypen wie HTML, Informationsmeldung und Audiodatei . Browser wie Netscape Navigator und frühe Versionen von Microsoft Internet Explorer fügten dem Selektor den Elementtypcode gemäß RFC 4266 voran , sodass der Typ des Gopher-Elements anhand der URL selbst bestimmt werden konnte. Die meisten heute noch verfügbaren Gopher-Browser verwenden diese Präfixe in ihren URLs. 3his
| Kanonische Typen | |
|---|---|
| 0 | Textdatei |
| 1 | Gopher-Untermenü |
| 2 | CCSO-Nameserver |
| 3 | Fehlercode, der von einem Gopher-Server zurückgegeben wird, um einen Fehler anzuzeigen |
| 4 | BinHex -kodierte Datei (hauptsächlich für Macintosh -Computer) |
| 5 | DOS- Datei |
| 6 | uuencodierte Datei |
| 7 | Gopher -Volltextsuche |
| 8 | Telnet |
| 9 | Binärdatei |
| + | Spiegelserver oder alternativer Server (zum Lastausgleich oder im Falle eines Ausfalls des primären Servers ) |
| G | GIF -Datei |
| ICH | Bilddatei |
| T | Telnet 3270 |
| Gopher+ Typen | |
| : | Bitmap-Bild |
| ; | Filmdatei |
| < | Audiodatei |
| Nicht-kanonische Typen | |
| D | Doc. Wird zusammen mit PDF- und .doc-Dateien verwendet. |
| H | HTML- Datei |
| ich | Informationsmitteilung, weit verbreitet. [ 38 ] |
| P | Bilddatei (insbesondere im PNG- Format) |
| R | Dokument im RTF-Format (" Rich Text Format ") |
| S | Audiodatei (insbesondere im WAV- Format) |
| P | PDF- Datei (Portable Document Format) |
| X | XML- Datei (Extensible Markup Language) |
Hier ist ein Beispiel für eine Gopher-Sitzung, in der der Benutzer ein Gopher-Menü benötigt ( /Referencein der ersten Zeile):
/Referenz 1CIA World Factbook /Archives/mirrors/textfiles.com/politics/CIA gopher.quux.org 70 0Jargon 4.2.0 /Referenz/Jargon 4.2.0 gopher.quux.org 70 + 1 Online-Bibliotheken /Referenz / Online-Bibliotheken gopher.quux.org 70 + 1RFCs: Internet Standards /Computers/Standards and Specs/RFC gopher.quux.org 70 1U.S. Gazetteer /Reference/US Gazetteer gopher.quux.org 70 + Diese Datei enthält Informationen über gefälschte US-Bekanntschaften (NULL) 0 Städte, Landkreise und geografische Gebiete. Es enthält gefälschte (NULL) 0 Breitengrad/Längengrad, Bevölkerung, Land- und Wasserfläche, fiktiv (NULL) 0 und Postleitzahlen. gefälscht (NULL) 0 Ich fälsche (NULL) 0 Um nach einer Stadt zu suchen, geben Sie den Namen der Stadt ein. Um nach einer gefälschten Stadt zu suchen, geben Sie (NULL) 0 ein. Für einen Landkreis verwenden Sie den Namen plus Landkreis – zum Beispiel fake (NULL) 0 iDallas County. fake (NULL) 0
Das vom Server zurückgesendete Gopher-Menü besteht aus einer Folge von Zeilen, die jeweils ein abrufbares Element beschreiben. Die meisten Clients stellen diese als Hyperlinks dar und ermöglichen dem Benutzer so die Navigation im Gopher-Bereich. [ 5 ] Dieses Menü enthält eine Textressource (itemtype 0in der dritten Zeile), mehrere Links zu Untermenüs (itemtype 1in der zweiten Zeile sowie in den Zeilen 4–6) und eine nicht standardisierte Informationsmeldung (ab Zeile 7), die durch die Angabe von Platzhalterwerten für Selektor, Host und Port auf mehrere Zeilen verteilt ist.
Externe Links
Historisch gesehen wurde zum Erstellen eines Links zu einem Webserver „GET /“ als Pseudo-Selektor verwendet, um eine HTTP- GET-Anfrage zu emulieren . [ 39 ] John Goerzen erweiterte das Gopher-Protokoll um eine Funktion [ 40 ] , die gemeinhin als „ URL- Links“ bezeichnet wird und Links zu jedem Protokoll ermöglicht, das URLs unterstützt. Um beispielsweise einen Link zu „Index of /“ zu erstellen , ist der Elementtyp „URL h“, die Anzeigezeichenfolge der Linktitel, der Elementselektor „URL:http://gopher.quux.org/“ und die Domain und der Port die des Ursprungsservers (sodass Clients, die keine URL-Links unterstützen, den Server abfragen und eine HTML-Weiterleitungsseite erhalten).
Gopher+
Gopher+ ist eine abwärtskompatible Erweiterung des Gopher-Protokolls. Gopher+ funktioniert durch den Austausch von Metadaten zwischen Client und Server. Die Erweiterung wurde von Gopher-Servern nie flächendeckend eingesetzt. [ 41 ] [ 42 ] [ 43 ] Der Client sendet einen Tabulator gefolgt von einem Pluszeichen (+). Ein Gopher+-Server antwortet mit einer Statuszeile und den vom Client angeforderten Inhalten. Ein Eintrag in der Gopher-Verzeichnisliste wird durch einen Tabulator gefolgt von einem Pluszeichen nach dem Port als Gopher+-fähig gekennzeichnet (dies trifft auf einige der Einträge im obigen Beispiel zu).
Weitere Funktionen von Gopher+ sind:
- Artikelattribute, die die Artikel umfassen können
- Administrator
- Letztes Änderungsdatum
- Unterschiedliche Ansichten der Datei, wie PostScript oder Klartext, oder verschiedene Sprachen
- Zusammenfassung oder Beschreibung des Artikels
- Interaktive Abfragen
Client-Software
Gopher-Kunden
Hierbei handelt es sich um Clients, Bibliotheken und Hilfsprogramme, die primär für den Zugriff auf Gopher-Ressourcen entwickelt wurden.
| Kunde | Aktualisiert | Lizenz | Sprache | Typ | Anmerkungen |
|---|---|---|---|---|---|
| SÄURE | 2021 | ? | C | GUI (Windows) | Unterstützt Seitencache, TFTP und verfügt über die GopherG6-Erweiterung. |
| Bombadillo | 2022 | GPLv3 | Gehen | TUI (Linux, BSD, macOS ) | Unterstützt Gopher, Gemini, Finger |
| Elpher | 2022 | GPLv3 | Emacs Lisp | TUI/GUI | Elpher: ein Gopher-, Finger- und Gemini-Client für GNU Emacs |
| Eva | 2022 | GPLv3 | Rost | GUI (Linux, FreeBSD) | Eva (wie in extraveränderliche Aktivität oder Weltraumspaziergang) ist ein Gemini- und Gopher-Protokollbrowser in GTK 4. |
| Gopher-Browser | 2019 | Geschlossene Quelle | VB.NET | GUI (Windows) | |
| Gopher-Klient | 2018 | App (iOS) [ 44 ] | Unterstützt Textumbruch, Lesezeichen, Verlauf usw. | ||
| Taschenratte | 2022 | MIT | Java | App (Android) | Unterstützt nur grundlegende Funktionen wie Lesezeichen, Sitzungsverlauf, Downloads usw. |
| Gopherus | 2020 | BSD 2-Klausel | C | TUI (Linux, BSD, Windows, DOS) | Enthält Lesezeichen und Seitencaching. |
| Gophie | 2020 | GPLv3 | Java | GUI (Windows, MacOS, Linux) | |
| Kristall | 2020 | GPLv3 | C++ | GUI (Linux) | Gemini GUI-Client mit Unterstützung für Gopher, Finger und www. |
| Lagrange | 2022 | BSD 2-Klausel | C | GUI | Gemini GUI-Client mit Gopher- und Finger-Unterstützung. Wechselt bei der Navigation im übergeordneten/Root-Element zu gophermap/Typ-1-Anfragen. [ 45 ] |
| Kleiner Gopher-Klient | 2019 | Pascal | Linux, Mac, Windows | Seitenleiste mit hierarchischer Ansicht | |
| ncgopher | 2022 | BSD 2-Klausel | Rost | TUI | ncgopher ist ein Gopher- und Gemini-Client, der ncurses verwendet. |
| Taschenratte | 2019 | Unlizenz | Java | App (Android) | Unterstützt Lesezeichen, Verlauf, Downloads usw. |
| sacc | 2022 | C | TUI | sacc(omys) ist ein Terminal-Gopher-Client. | |
| schnaufen | 2020 | GPL | C | CLI | Einfacher, nicht-interaktiver Allzweck-Ressourcenabrufer |
| w3m | 2021 | MIT | C | TUI | w3m ist ein textbasierter Webbrowser |
Andere Kunden
Clients wie Webbrowser, Bibliotheken und Hilfsprogramme, die primär für den Zugriff auf Ressourcen des World Wide Web entwickelt wurden, aber die Gopher-Unterstützung beibehalten(ten).
- Browse, ein Browser für RISC OS
- Camino , Versionen 1.0 bis 2.1.2, verwendet immer Port 70.
- Classilla , Versionen 9.0 bis 9.3.4b1 (Stand: März 2021), verwendet von Version 9.0 bis 9.2 fest Port 70; ab Version 9.2.1 sind Ports auf der Whitelist.
- cURL , ein Kommandozeilenclient zum Zugriff auf URLs für verschiedene Protokolle
- Dillo+
- Doppelt
- Edbrowse, ein zeilenorientierter Editor und Browser mit einer Benutzeroberfläche ähnlich der von ed (Texteditor).
- ELinks , Versionen 0.10.0 [ 46 ] bis 0.12pre6 (Stand: Oktober 2012), ist ein nicht mehr weiterentwickelter Browser mit Gopher-Build-Option. Der Fork felinks [ 47 ] bietet diese Build-Option ebenfalls an.
- Falkon (nur mit Plugin) benötigt Falkon ≥ 3.1.0 mit aktivierter KDE Frameworks Integration-Erweiterung (in Falkon ≥ 3.1.0 enthalten) und dem (separaten) kio_gopher-Plugin [ 48 ] ≥ 0.1.99 (erste Version für KDE Frameworks 5).
- Mozilla Firefox Versionen 0.1 bis 3.6, integrierte Unterstützung ab Firefox 4.0 eingestellt; [ 49 ] kann durch Installation einer der Erweiterungen des Overbite-Projekts [ 18 ] wieder hinzugefügt werden.
- Galeon Version 2.0.7
- Epiphany wurde bis Version 2.26.3 mit dem Wechsel zu WebKit deaktiviert.
- Google Chrome , nur mit Erweiterung, [ 50 ] Burrow-Erweiterung [ 51 ]
- Internet Explorer , dessen Unterstützung mit Version 6 eingestellt wurde: Die durch MS02-047 in IE 6 SP1 entfernte Unterstützung kann in der Windows-Registrierung wiederhergestellt werden . [ 52 ] Verwendet immer Port 70. Die Gopher-Unterstützung wurde in Internet Explorer Versionen 5.x und 6 für Windows im August 2002 durch einen Patch deaktiviert, der eine Sicherheitslücke im Gopher-Protokollhandler des Browsers beheben und so die Angriffsfläche verringern sollte. Dieser Patch war in IE6 SP1 enthalten; die Unterstützung kann jedoch durch Bearbeiten der Windows-Registrierung wiederhergestellt werden . In Internet Explorer 7 wurde die Gopher-Unterstützung auf WinINET -Ebene entfernt. [ 53 ]
- Internet Explorer für Mac Version 5.2.3, nur PowerPC
- K-Meleon hat die Unterstützung aufgegeben
- Konqueror benötigt, nur mit Plugin, das kio_gopher-Plugin [ 48 ].
- libwww , Versionen 1.0c (Dezember 1992) bis 5.4.1 (Dezember 2006) , ist eine nicht mehr weiterentwickelte API für Internetanwendungen. Ein moderner Fork wird in Lynx gepflegt.
- Zeilenmodus-Browser , seit Version 1.1, Januar 1992
- Luchs
- Mosaic , Version 3.0
- Netscape Navigator
- NetSurf , in Entwicklung, basiert auf dem cURL- Fetcher.
- OmniWeb ist seit Version 5.9.2 (April 2009) der erste WebKit- Browser, der Gopher unterstützt [ 54 ] [ 55 ].
- Opera , Opera 9.0 enthielt eine Proxy-Funktion
- Pavuk, ein Web-Mirror-Softwareprogramm (rekursiver Download).
- SeaMonkey , Version 1.0 bis 2.0.14, integrierte Unterstützung wurde ab Version 2.1 eingestellt; konnte über das Overbite-Projekt [ 18 ] in einigen Versionen wieder hinzugefügt werden, wird aber nicht mehr unterstützt.
- WebPositive , ein auf WebKit basierender Browser, der im Betriebssystem Haiku verwendet wird
Browser ohne native Gopher-Unterstützung können dennoch über einen der verfügbaren Gopher-zu- HTTP- Gateways oder Proxy-Server , die Gopher-Menüs in HTML konvertieren, auf Server zugreifen ; bekannte Proxys sind der Floodgap Public Gopher Proxy und Gopher Proxy. Ebenso verfügen bestimmte Serverpakete wie GN und PyGopherd über integrierte Gopher-zu- HTTP -Schnittstellen. Die Squid-Proxy- Software wandelt jede gopher://URL in HTTP-Inhalte um und ermöglicht so jedem Browser oder Webagenten den einfachen Zugriff auf Gopher-Inhalte.
Für Mozilla Firefox und SeaMonkey erweitern Overbite [ 18 ] Erweiterungen das Gopher-Browsing und unterstützen die aktuellen Versionen der Browser (Firefox Quantum v ≥57 und entsprechende Versionen von SeaMonkey):
- OverbiteWX leitet
gopher://URLs an einen Proxy weiter; - OverbiteNX bietet native Unterstützung;
- Für Firefox bis Version 56.* und entsprechende Versionen von SeaMonkey bietet OverbiteFF eine native Unterstützung, wird aber nicht mehr weiterentwickelt.
OverbiteWX unterstützt den Zugriff auf Gopher-Server, die nicht Port 70 verwenden, mithilfe einer Whitelist sowie CSO/ph-Abfragen . OverbiteFF verwendet immer Port 70. Für Chromium und Google Chrome ist Burrow [ 51 ] verfügbar. Es leitet gopher://URLs an einen Proxy weiter. Früher gab es eine Overbite-Proxy-basierte Erweiterung für diese Browser, diese wird jedoch nicht mehr weiterentwickelt und ist mit den aktuellen Versionen (ab 23) nicht kompatibel. [ 18 ]
Für Konqueror ist Kio Gopher [ 56 ] verfügbar.
Da die bandbreitenschonende, einfache Schnittstelle von Gopher gut zu Mobiltelefonen und persönlichen digitalen Assistenten (PDAs) passt, [ 57 ] kam es Anfang der 2010er Jahre zu einem erneuten Interesse an nativen Gopher-Clients für gängige Smartphones .
Die Popularität von Gopher erreichte ihren Höhepunkt in einer Zeit, als noch viele konkurrierende Computerarchitekturen und Betriebssysteme existierten. Daher sind zahlreiche Gopher-Clients für Acorn RISC OS , AmigaOS , Atari MiNT , Conversational Monitor System (CMS), DOS , klassisches Mac OS , MVS , NeXT , OS/2 Warp , die meisten Unix-ähnlichen Betriebssysteme, VMS , Windows 3.x und Windows 9x verfügbar . GopherVR war ein Client für 3D-Visualisierung, und auch in MOO ist ein Gopher-Client enthalten . [ 58 ] [ 59 ] Die meisten dieser Clients sind fest auf TCP - Port 70 programmiert. [ 60 ]
Serversoftware
Da das Protokoll in einfacher Weise trivial zu implementieren ist, sind noch immer viele Serverpakete verfügbar, und einige werden auch weiterhin gepflegt.
| Server | Entwickelt von | Neueste Version | Veröffentlichungsdatum | Lizenz | Geschrieben in | Anmerkungen |
|---|---|---|---|---|---|---|
| Nachbeben | Rob Linwood | 1.0.1 | 22. April 2004 | MIT | Java | |
| Apache::GopherHandler | Timm Murray | 0,1 | 26. März 2004 | GPLv2 oder eine spätere Version | Perl | Apache 2-Plugin zum Ausführen von Gopher-Server . |
| Atua | Charles Childers | 2017.4 | 9. Oktober 2017 | ISC | Viertens | |
| Bucktooth (Gopher-Link) ( Proxy-Link ) | Cameron Kaiser | 0.2.10 | 10. Februar 2024 | Floodgap Free Software License | Perl | |
| Flaschen-Gopher | Michael Lazar | 2.2.1 | 11. April 2020 | GPLv3 | Python | |
| Geomyid | Quinn Evans | 0.0.1 | 10. August 2015 | BSD 2-Klausel | Common Lisp | |
| geomyidae (Gopher-Link) ( Proxy-Link ) | Christoph Lohmann | 0,96 | 26. August 2022 | MIT | C | REST-dynamisches Scripting, Gopher-TLS-Unterstützung, Kompatibilitätsschicht für andere Gophermaps |
| GoFish | Sean MacLennan | 1.2 | 8. Oktober 2010 | GPLv2 | C | |
| Go-Gopher | James Mills | 31. März 2022 | MIT | Gehen | ||
| Gopher-Server | Timm Murray | 0.1.1 | 26. März 2004 | GPLv2 | Perl | |
| Gophernicus | Kim Holviala und andere | 3.1.1 | 3. Januar 2021 | BSD 2-Klausel | C | |
| Erdhörnchen | Guillaume Duhamel | 0.2.3 | 29. März 2012 | GPLv2 | C | |
| Goscher | Aaron W. Hsu | 8.0 | 20. Juni 2011 | ISC | Schema | |
| Gott | Mate Nagy | 1.1 | 29. Januar 2018 | GPLv3 | C | |
| Motsognir | Mateusz Viste | 1.0.13 | 8. Januar 2021 | MIT | C | Erweiterbar durch benutzerdefinierte Gophermaps, CGI- und PHP-Skripte |
| Pituophis | Dotcomboom | 1.1 | 16. Mai 2020 | BSD 2-Klausel | Python | Python-basierte Gopher-Bibliothek mit Server- und Clientunterstützung |
| PyGopherd | Michael Lazar | 3.0.1 | 25. Februar 2024 | GPLv2 | Python | Unterstützt außerdem HTTP, WAP und Gopher+. |
| Redis wurde am 18. April 2022 im Internetarchiv Wayback Machine archiviert . | Salvatore Sanfilippo | 6.2.5 | 21. Juli 2021 | 3-Klausel-BSD | C | Unterstützung in Version 7 entfernt [ 61 ] |
| save_gopher_server | SSS8555 | 0,777 | 7. Juli 2020 | ? | Perl | mit G6-Erweiterung und TFTP |
| Spacecookie | Lukas Epple | 1.0.0.0 | 17. März 2021 | GPLv3 | Haskell | |
| Xylophar | Nathaniel Leveck | 0.0.1 | 15. Januar 2020 | GPLv3 | FreeBASIC |
Siehe auch
- Gemini (Protokoll) , ein von Gopher inspiriertes Anwendungsschichtprotokoll.
- GopherVR , ein Kunde, der 3D-Visualisierungen umfasste
- Jugtail (ehemals Jughead), eine alternative Suchmaschine für das Gopher-Protokoll [ 62 ].
- Phlog , die Gopher-Version eines Weblogs
- SDF Public Access Unix System – eine gemeinnützige Organisation, die kostenloses Gopher-Hosting anbietet.
- Textbasierte Webbrowser unterstützen häufig Gopher.
- Zeitleiste der Geschichte des Internets
- Veronica , Suchmaschinensystem für Gopher
- Weitverkehrsinformationsserver , Suchmaschine, deren Popularität zeitgleich mit der von Gopher's war
Referenzen
- ^ Carlson, Scott (5. September 2016). „Wie Gopher beinahe das Internet erobert hätte“ . Chronicle of Higher Education . Abgerufen am 12. September 2016 .
- ^ a b Barras, Colin (12. März 2009). „Wie uns das Mooresche Gesetz vor dem Gopher-Netz rettete“ . New Scientist . Archiviert vom Original am 31. August 2011. Abgerufen am 20. September 2011 .
- ^ Mark P. McCahill im Interview in der Fernsehsendung Triangulation auf demSender TWiT.tv
- ^ Suzan D. McGinnis (2001). Elektronisches Sammlungsmanagement . Routledge. S. 69–72 . ISBN 0-7890-1309-6Die
- ^ a b December, John ; Randall, Neil (1994). The World Wide Web unleashed . Sams Publishing. S. 20. ISBN 1-57521-040-1Die
- ^ „PAPER: Topics“ . Newsgroup : bit.listserv.cwis-l . 12. Januar 1992. Abgerufen am 27. Juli 2011 .
- ^ Mark McCahill, Farhad Anklesaria. „Smart Solutions: Internet Gopher“ (Flash) . Minneapolis: University of Minnesota Media Mill. Die Veranstaltung findet um 2:40 Uhr statt. Archiviert vom Original am 20. Juli 2011.McCahill schreibt Anklesaria die Namensgebung von Gopher zu.
- ^ „Gophersports.com – Offizielle Website der Sportabteilung der University of Minnesota“ . Archiviert vom Original am 14. August 2010. Abgerufen am 17. August 2010 .
- ^ a b Gihring, Tim (11. August 2016). „Der Aufstieg und Fall des Gopher-Protokolls“ . minnpost.com . Abgerufen am 12. August 2016 .
- ^ Gregersen, Erik; Featherly, Kevin (11. Mai 2016). „ARPANET“ . Encyclopedia Britannica . Abgerufen am 3. Mai 2023 .
- ^ „Betreff: Lizenzierungsrichtlinie für die Software „University of Minnesota Gopher“ . Funet.fi . Abgerufen am 12. August 2015 .
- ^ JQ Johnson (25. Februar 1993). „Gopher-Lizenzierung“ . Newsgroup : comp.infosystems.gopher . Abgerufen am 27. Juli 2011 .
- ^ Joel Rubin (3. März 1999). „CW von der VOA-Serverseite“ . Newsgroup : rec.radio.shortwave . Abgerufen am 27. Juli 2011 .
- ^ "Software-Veröffentlichung des WWW in die Gemeinfreiheit" . cds.cern.ch .
- ^ Johan Söderberg (2007). Hacking Capitalism: The Free and Open Source Software Movement . Routledge. S. 25. ISBN 978-0-415-95543-0Die
- ^ „UMN Gopher(d) wurde unter der GPL veröffentlicht!“ . Newsgroup : comp.infosystems.gopher . 1. September 2000 . Abgerufen am 12. August 2015 .
- ^ Christopher (Cal) Lee (23. April 1999). „Wo sind all die Gopher hin? Warum das Web Gopher im Kampf um die Vorherrschaft über Protokolle geschlagen hat“ .
- ^ a b c d e „Das Überbiss-Projekt“ . Floodgap . Abgerufen am 25. Juli 2010 .
- ^ „Floodgap Gopher-HTTP-Gateway“ . Gopher.floodgap.com . Abgerufen am 5. Januar 2017 .
- ^ a b Kaiser, Cameron (19. März 2007). „Down the Gopher Hole“ . TidBITS . Abgerufen am 23. März 2007 .
- ^ „Dies ist ein Gopher-Link“ . gopher.floodgap.com . Archiviert vom Original am 4. August 2011.
- ^ „Laden Sie ein Stück Internetgeschichte herunter“ . Änderungsprotokoll. 28. April 2010. Archiviert vom Original am 23. Juli 2011. Abgerufen am 27. Juli 2011 .
- ^ „Versionshinweise – OmniWeb 5 – Produkte“ . The Omni Group. Archiviert vom Original am 7. August 2011. Abgerufen am 27. Juli 2011. OmniWeb 5.9.2 ,
veröffentlicht am 1. April 2009: Bahnbrechende Unterstützung für das revolutionäre Gopher-Protokoll – eine Premiere für WebKit-basierte Browser! Eine Liste der Gopher-Server finden Sie in der Floodgap-Liste. Viel Spaß!
Derselbe Text findet sich weiter unten auf der Seite in der Version 5.10 vom 27. August 2009, kopiert aus dem instabilen Zweig 5.9.2. Die erwähnte Floodgap-Liste befindet sich unter Floodgap: Neue Gopher-Server und bezieht sich selbst nicht auf den 1. April. - ^ „Floodgap Gopher-HTTP-Gateway“ . 25. April 2016. Archiviert vom Original am 3. Januar 2006. Abgerufen am 18. Februar 2026 .
- ^ „Floodgap Gopher-HTTP-Gateway“ . 15. Oktober 2015. Archiviert vom Original am 15. Oktober 2015.
- ^ "Floodgap Gopher-HTTP-Gateway" . 25. April 2016.
{{cite web}}CS1-Wartung: Veralteter Archivierungsdienst ( Link ) - ^ „Floodgap Gopher-HTTP-Gateway“ . 15. August 2017. Archiviert vom Original am 16. August 2017.
- ^"Floodgap Gopher-HTTP gateway". 10 December 2018. Archived from the original on 11 December 2018. Retrieved 18 February 2026.
- ^"Floodgap Gopher-HTTP gateway". 18 November 2020. Archived from the original on 18 November 2020.
- ^"Floodgap Gopher-HTTP gateway". 18 October 2021. Archived from the original on 18 October 2021.
- ^"Floodgap Gopher-HTTP gateway". 11 October 2022. Archived from the original on 11 October 2022.
- ^"Floodgap Gopher-HTTP gateway". 17 February 2024. Archived from the original on 17 February 2024.
- ^"Floodgap Gopher-HTTP gateway". 19 June 2025. Archived from the original on 19 June 2025.
- ^"Floodgap Gopher-HTTP gateway". 29 August 2025. Archived from the original on 29 August 2025.
- ^"Floodgap Gopher-HTTP gateway". 28 January 2026. Archived from the original on 28 January 2026.
- ^"Curl: Re: Gopher patches for cURL (includes test suite)". curl-library (Mailing list). 25 August 2010. Archived from the original on 21 April 2019. Retrieved 9 March 2020.
- ^"Gopher+ protocol specification". GitHub.
- ^"Directory entry says what? Current Gopher type field types". 5 March 2019.
- ^"Gopher in the World-Wide Web". Retrieved 29 September 2021.
- ^"Gopher: gopher.2002-02". gopher (Mailing list). Gopher.quux.org. Retrieved 12 August 2015.
- ^Mešnjak, Matjaž (16 February 2009). "Re: New Gopher server and client". Newsgroup: gmane.network.gopher.general. Archived from the original on 10 March 2015. Retrieved 3 February 2012.
- ^JumpJet Mailbox (14 January 2008). "Re: Server Contact Information". Newsgroup: gmane.network.gopher.general. Archived from the original on 10 March 2015. Retrieved 3 February 2012.
- ^ P. Hoffman (November 2005). Das Gopher-URI-Schema . Network Working Group. doi : 10.17487/RFC4266 . RFC 4266 .Vorgeschlagener Standard. Ersetzt RFC 1738 .
- ^ Charles Childers. „Gopher Client im App Store“ . iTunes . Archiviert vom Original am 24. Mai 2022.
- ^ skyjake (24. Januar 2022). "v1.10.2" . gemini/lagrange . Gitea. Archiviert vom Original am 12. März 2023.
- ^ Fonseca, Jonas (24. Dezember 2004). „[ANNOUNCE] ELinks-0.10.0 (Thelma)“ . elinks-users (Mailingliste). Linux From Scratch . Archiviert vom Original am 20. Februar 2007. Abgerufen am 22. Mai 2010 .
- ^ asakura42; rkd77 (5. März 2021). „Welche Vorteile bietet Elinks gegenüber der aktuellen Originalversion von Links?“ . rkd77/elinks . GitHub . Archiviert vom Original am 13. März 2023.
- ^ ein b „Kio Gopher“ . KDE UserBase Wiki . Archiviert vom Original am 1. Mai 2018 . Abgerufen am 1. Mai 2018 .
- ^ Strong, Robert; et al. (14. Juli 2007). „Bug 388195 – Entfernen der Gopher-Protokollunterstützung für Firefox“ . Bugzilla . Abgerufen am 15. Juni 2010 .
- ^ hotaru.firefly; et al. (2. Mai 2009). „Problem 11345: Gopher-Protokoll funktioniert nicht“ . Probleme - Chromium . Abgerufen am 25. Juli 2011 .
- ^ a b „Burrow: Gopherspace Explorer für Chrome“ . Chrome Web Store . Archiviert vom Original am 15. November 2025. Abgerufen am 21. Februar 2026 .
- ^ „Microsoft Security Bulletin MS02-047“ . Microsoft . 28. Februar 2003. Archiviert vom Original am 4. Juli 2011. Abgerufen am 23. März 2007 .
- ^ „Versionshinweise für Internet Explorer 7“ . Microsoft . 2006. Archiviert vom Original am 4. August 2011. Abgerufen am 23. März 2007 .
- ^ Sharps, Linda (1. April 2009). „OmniWeb 5.9.2 unterstützt jetzt Gopher“ . The Omni Group . Archiviert vom Original am 14. August 2011. Abgerufen am 3. April 2009 .
- ^ „Eine umfassende Liste der Änderungen für jede Version von OmniWeb“ . The Omni Group . 1. April 2009. Archiviert vom Original am 7. August 2011. Abgerufen am 3. April 2009 .
- ^ „Kio-Gopher“ . Abgerufen am 1. April 2017 .
- ^ Lore Sjöberg (12. April 2004). „Gopher: Underground Technology“ . Wired News . Archiviert vom Original am 12. Oktober 2008. Abgerufen am 27. Juli 2011 .
- ^ Riddle, Prentiss (13. April 1993). „GopherCon '93: Internet Gopher Workshop and Internet Gopher Conference“ . PrentissRiddle.com . Abgerufen am 20. Mai 2008 .
- ^ Masinter, L.; Ostrom, E. (Juni 1993). „Kollaboratives Information Retrieval: Gopher von MOO“ (PDF) . The Proceedings of INET . Band 93.
- Anklesaria , Farhad; McCahill, Mark P; Lindner, Paul; Johnson, David; Torrey, Daniel; Alberti, Bob (März 1993). Das Internet Gopher Protocol (ein verteiltes Dokumentensuch- und -abrufprotokoll) . Network Working Group. doi : 10.17487/RFC1436 . RFC 1436 .Informativ.
- ^ „Unterstützung für das Gopher-Protokoll entfernen. Von yoav-steinberg · Pull Request #9057 · redis/Redis“ . GitHub .
- ^ "IU Knowledge Home - IUKB" . servicenow.iu.edu .
Externe Links
- Liste der öffentlichen Gopher-Server (Gopher-Link) ( Proxy-Link von floodgap )
- Eine Ankündigung von Gopher in der Usenet-Gruppe comp.sys.mac.announce, 8. Oktober 1991
- Warum ist Gopher immer noch relevant? – Eine Stellungnahme von Cameron Kaiser zum Überleben von Gopher, vom Overbite Project
- Das Web mag gesiegt haben, aber Gopher-Tunnel existieren weiter – Ein Artikel über die Gopher-Community von Enthusiasten, Ars Technica , 5. November 2009
- Geschichte von Gopher von Tim Gihring, MinnPost , 11. August 2016
- Gopherpedia – Gopher-Oberfläche für Wikipedia (Gopher-Link) ( Proxy-Link von floodgap , ein weiterer Proxy-Link von gp.ratthing.com, archiviert am 24. Februar 2020 in der Wayback Machine )
- Videos: Die Gopher-Erfinder Mark McCahill und Farhad Anklesaria erklären die Evolution des Taschenratten: Teil 1 , Teil 2 auf YouTube
- Vorgeschlagene Gopher+-Spezifikation (Gopher-Link) von floodgap.com