Gopher est un protocole Internet conçu pour distribuer, rechercher et récupérer des documents sur Internet. Développé à l'Université du Minnesota au début des années 1990, Gopher était un précurseur du World Wide Web et offrait une méthode textuelle, hiérarchique et conviviale pour naviguer dans les documents en ligne.
La genèse et l'évolution de Gopher
Le protocole Gopher a été conçu en 1991 par une équipe dirigée par Mark P. McCahill de l'Université du Minnesota. Nommé d'après la mascotte de l'université, le « Golden Gopher », le protocole était initialement utilisé pour accéder aux ressources Internet du campus.
La simplicité de Gopher et sa capacité à organiser les informations de manière hiérarchique en ont fait un choix populaire parmi les internautes avant l'avènement du World Wide Web graphique. Cependant, l'essor du Web, en particulier après l'introduction du navigateur Web Mosaic en 1993, a considérablement éclipsé Gopher en raison de la capacité du Web à afficher des graphiques à côté du texte et de son interface plus attrayante.
Exploration approfondie de Gopher
Gopher est basé sur une architecture client-serveur dans laquelle les clients Gopher se connectent aux serveurs Gopher pour demander des informations. Les informations présentées par Gopher sont organisées selon une structure hiérarchique, semblable à un système de fichiers. Lorsqu'un utilisateur sélectionne un lien Gopher, le client envoie une requête au serveur, qui renvoie ensuite le document demandé ou un répertoire de liens si le lien est un répertoire.
Le protocole prend également en charge la recherche par mot-clé, dans laquelle un client Gopher peut envoyer une chaîne de recherche à un serveur Gopher, et le serveur renvoie tous les documents correspondant à la chaîne de recherche. Cependant, il convient de noter que Gopher ne prend pas en charge les fonctionnalités plus avancées des protocoles modernes, telles que HTTPS, les cookies ou les formulaires interactifs.
À l’intérieur du Gopher : comprendre son mécanisme de fonctionnement
Gopher fonctionne sur un modèle client-serveur dans lequel les clients Gopher envoient des demandes d'informations aux serveurs Gopher. Le serveur répond en envoyant le fichier texte ou le menu demandé. Les menus sont de simples fichiers texte avec des lignes représentant les éléments de menu. Chaque élément comprend un nom lisible par l'homme et une adresse de serveur où l'élément peut être trouvé.
Gopher utilise son propre schéma d'URL unique. Une URL Gopher commence par « gopher:// » et inclut l'adresse du serveur, le type de ressource et la chaîne de sélection. La chaîne de sélection est le chemin d'accès à la ressource sur le serveur.
Caractéristiques distinctives de Gopher
- Simplicité: La conception de Gopher est simple, ce qui facilite la création de clients, de serveurs et de documents Gopher.
- Structure hiérarchique: Gopher présente les informations dans un format clair et hiérarchique, similaire à un système de fichiers.
- Utilisation efficace du réseau : Gopher utilise moins de bande passante que les protocoles graphiques comme HTTP, ce qui accélère la navigation sur des connexions lentes.
- Possibilité de recherche : Gopher prend en charge les recherches par mots clés sur les serveurs Gopher.
- Basé sur du texte brut : Les documents Gopher sont principalement constitués de texte brut, bien que le protocole puisse également distribuer des fichiers binaires.
Différents types de Gopher
Dans Gopher, différents types d'articles sont identifiés à l'aide d'un code à un caractère au début de la ligne d'article. Certains des types d'éléments couramment utilisés incluent :
Code de type | Description |
---|---|
0 | Fichier texte : ce type d'élément représente un document ou tout autre type de données textuelles. |
1 | Répertoire : ce type d'élément est un menu Gopher contenant plus d'éléments. |
7 | Moteur de recherche : ce type d'élément indique un index consultable. |
9 | Fichier binaire : ce type d'élément est utilisé pour les fichiers de données non textuelles, tels que les images, l'audio ou la vidéo. |
je | Message d'information : ce type d'élément est utilisé pour afficher du texte d'information dans les menus Gopher. |
Gopher en action : utilisations, défis et solutions
Bien qu'il soit moins populaire que le Web, Gopher dispose toujours d'une base d'utilisateurs dédiée, principalement au sein des communautés de passionnés de rétro-informatique et de technologie. Gopher est utilisé pour distribuer des documents et des fichiers texte et pour créer des menus de liens faciles à naviguer.
Cependant, Gopher est confronté à certains défis. Les navigateurs Web modernes ne prennent pas en charge Gopher par défaut et le protocole manque de fonctionnalités avancées telles que le cryptage et les cookies. Néanmoins, des clients Gopher dédiés et des services proxy peuvent être utilisés pour accéder aux sites Gopher, et des efforts sont déployés pour moderniser le protocole tout en préservant sa simplicité.
Comparaison avec des protocoles similaires
Fonctionnalité | Gopher | HTTP (Internet) | FTP |
---|---|---|---|
Chiffrement | Non | Oui | Oui |
Biscuits | Non | Oui | Non |
Possibilité de recherche | Oui | Oui | Non |
Structure hiérarchique | Oui | Non | Oui |
L'avenir de Gopher : qu'est-ce qui nous attend ?
Bien que Gopher puisse sembler une relique du passé, l'utilisation et le développement du protocole suscitent un intérêt constant, principalement en raison de sa simplicité et de son efficacité. Les développeurs travaillent sur des projets visant à moderniser Gopher, comme l'ajout de la prise en charge du cryptage, et des efforts sont en cours pour créer un équivalent Gopher du Web moderne, connu sous le nom de « Gopherspace ».
Le rôle des serveurs proxy avec Gopher
Étant donné que les navigateurs modernes ne prennent pas en charge le protocole Gopher par défaut, les serveurs proxy jouent un rôle essentiel dans l'accès aux sites Gopher. Un proxy Gopher vers HTTP permet aux utilisateurs d'accéder au contenu Gopher à l'aide d'un navigateur Web standard. Le serveur proxy récupère le contenu Gopher demandé et le convertit en contenu HTTP que le navigateur peut afficher. Cela constitue un pont entre le Web moderne et Gopher, permettant aux utilisateurs d'explorer le monde unique et axé sur le texte de Gopherspace.
Liens connexes
- Le projet Overbite: Une initiative pour ramener Gopher sur Firefox et Chrome.
- Proxy public Gopher de Floodgap: Un proxy public Gopher vers HTTP.
- Le protocole Gopher: La spécification originale du protocole Gopher.
- Système Unix à accès public SDF: Un site Gopher bien connu.
- La pelouse Gopher: Une liste organisée de sites Gopher actifs.