Article de reference

Gopher (protocole)

Le protocole Gopher ( / ˈ ɡ oʊ f ər / ⓘ ) est un protocole de communication conçu pour la distribution, la recherche et la récupération de documents dans IP . La conception du p...

Le protocole Gopher ( / ˈ ɡ f ər / ) est unprotocole de communicationconçu pour la distribution, la recherche et la récupération de documents dansIP. La conception du protocole Gopher et de l'interface utilisateur est pilotée par menu et a présenté une alternative auWorld Wide Webàses débuts, mais est finalement tombée en disgrâce, cédant la place au protocole de transfert hypertexte (HTTP). L'écosystème Gopher est souvent considéré comme le prédécesseur efficace du World Wide Web.

Usage

Le protocole Gopher a été inventé par une équipe dirigée par Mark P. McCahill à l' Université du Minnesota . Il offre certaines fonctionnalités qui ne sont pas prises en charge nativement par le Web et impose une hiérarchie beaucoup plus forte aux documents qu'il stocke. Son interface de menu textuel est bien adaptée aux environnements informatiques qui reposent fortement sur des terminaux informatiques distants orientés texte , qui étaient encore courants au moment de sa création en , et la simplicité de son protocole a facilité une grande variété d'implémentations client. Des révisions plus récentes clients graphiques ont ajouté la prise en charge du multimédia.

  • Firefox 1.5 (2005)
    Firefox 1.5 (2005)

La structure hiérarchique de Gopher a fourni une plate-forme pour les premières connexions de bibliothèques électroniques à grande échelle. Le protocole Gopher est toujours utilisé par les passionnés et, bien qu'il ait été presque entièrement supplanté par le Web, une petite population de serveurs activement maintenus demeure.

Origines

Le système Gopher a été lancé à la mi-1991 par Mark P. McCahill, Farhad Anklesaria, Paul Lindner, Daniel Torrey et Bob Alberti de l' Université du Minnesota aux États-Unis. Ses principaux objectifs étaient, comme indiqué dans la RFC 1436 :

  • Une organisation hiérarchique de type fichier qui serait familière aux utilisateurs.
  • Une syntaxe simple.
  • Un système qui peut être créé rapidement et à moindre coût.
  • Extensibilité de la métaphore du système de fichiers ; permettant l'ajout de recherches par exemple.

Gopher combine des hiérarchies de documents avec des collections de services, notamment WAIS , les moteurs de recherche Archie et Veronica , et des passerelles vers d'autres systèmes d'information tels que File Transfer Protocol (FTP) et Usenet .

L'intérêt général pour les systèmes d'information à l'échelle du campus (CWIS) dans l'enseignement supérieur à l'époque, et la facilité de configuration des serveurs Gopher pour créer un CWIS instantané avec des liens vers les répertoires et ressources en ligne d'autres sites, ont été les facteurs contribuant à l'adoption rapide de Gopher.

Le nom a été inventé par Anklesaria comme un jeu de mots sur plusieurs significations du mot « gopher ». La ​​mascotte de l'Université du Minnesota est le gopher , un gofer est un assistant qui « va chercher » des choses, et un gopher creuse dans le sol pour atteindre un endroit souhaité.

Déclin

Le World Wide Web en était à ses balbutiements en 1991 et les services Gopher se sont rapidement imposés. À la fin des années 1990, Gopher avait cessé de se développer. Plusieurs facteurs ont contribué à la stagnation de Gopher :

  • En février 1993, l' Université du Minnesota a annoncé qu'elle facturerait des frais de licence pour l'utilisation de son implémentation du serveur Gopher. Les utilisateurs ont commencé à craindre que des frais puissent également être facturés pour des implémentations indépendantes. L'expansion de Gopher a stagné, au profit du World Wide Web, dont le CERN a décliné toute propriété. En septembre 2000, l'Université du Minnesota a renouvelé la licence de son logiciel Gopher sous la licence publique générale GNU .
  • Les fonctionnalités du client Gopher ont été rapidement dupliquées par le premier navigateur Web Mosaic , qui a intégré son protocole.
  • Gopher a une structure plus rigide que le langage HTML (HyperText Markup Language ) à forme libre du Web. Chaque document Gopher a un format et un type définis, et l'utilisateur type navigue dans un système de menus unique défini par le serveur pour accéder à un document particulier. Cela peut être très différent de la façon dont un utilisateur recherche des documents sur le Web.
  • L'échec à suivre le modèle des systèmes ouverts et la mauvaise publicité par rapport au World Wide Web

Gopher est toujours utilisé par ses fans et des tentatives ont été faites pour le faire revivre sur des plateformes et des appareils mobiles modernes. L'une de ces tentatives est The Overbite Project, qui héberge diverses extensions de navigateur et des clients modernes.

Recensement des serveurs

Nombre de serveurs Gopher de 2012 à 2022
  • En 2012 , il restait environ 160 serveurs Gopher indexés par Veronica-2 , reflétant une croissance lente par rapport à 2007, où il y en avait moins de 100. Ils sont généralement mis à jour peu fréquemment. Sur ces serveurs, Veronica a indexé environ 2,5 millions de sélecteurs uniques. Une poignée de nouveaux serveurs étaient mis en place chaque année par des amateurs, plus de 50 ayant été mis en place et ajoutés à la liste de Floodgap depuis 1999. Un instantané de Gopherspace en 2007 a circulé sur BitTorrent et était toujours disponible en 2010. En raison de la simplicité du protocole Gopher, la mise en place de nouveaux serveurs ou l'ajout de la prise en charge de Gopher aux navigateurs se fait souvent de manière ironique , principalement le 1er avril .
  • En novembre 2014, Veronica a indexé 144 serveurs Gopher, ce qui reflète une petite baisse par rapport à 2012, mais au sein de ces serveurs, Veronica a indexé environ 3 millions de sélecteurs uniques.
  • En mars 2016, Veronica a indexé 135 serveurs Gopher, au sein desquels elle a indexé environ 4 millions de sélecteurs uniques.
  • En mars 2017, Veronica a indexé 133 serveurs Gopher, au sein desquels elle a indexé environ 4,9 millions de sélecteurs uniques.
  • En mai 2018, Veronica a indexé 260 serveurs Gopher, au sein desquels elle a indexé environ 3,7 millions de sélecteurs uniques.
  • En mai 2019, Veronica a indexé 320 serveurs Gopher, au sein desquels elle a indexé environ 4,2 millions de sélecteurs uniques.
  • En janvier 2020, Veronica a indexé 395 serveurs Gopher, au sein desquels elle a indexé environ 4,5 millions de sélecteurs uniques.
  • En février 2021, Veronica a indexé 361 serveurs Gopher, au sein desquels elle a indexé environ 6 millions de sélecteurs uniques.
  • En février 2022, Veronica a indexé 325 serveurs Gopher, au sein desquels elle a indexé environ 5 millions de sélecteurs uniques.

Détails techniques

La conceptualisation des connaissances dans un « espace Gopher » ou un « cloud » en tant qu’informations spécifiques dans un fichier particulier, ainsi que l’importance du FTP, ont influencé la technologie et les fonctionnalités résultantes de Gopher.

Caractéristiques du gopher

Gopher est conçu pour fonctionner et apparaître comme un système de fichiers réseau global montable en lecture seule (et des logiciels, tels que gopherfs, sont disponibles et peuvent réellement monter un serveur Gopher en tant que ressource FUSE ). Au minimum, tout ce qui peut être fait avec des fichiers de données sur un CD-ROM peut être fait sur Gopher.

Un système Gopher est constitué d'une série de menus hiérarchiques pouvant être reliés par des hyperliens. Le choix des éléments et des titres des menus est contrôlé par l'administrateur du serveur.

Tout comme un fichier sur un serveur Web, un fichier sur un serveur Gopher peut être lié à un élément de menu à partir de n'importe quel autre serveur Gopher. De nombreux serveurs tirent parti de cette liaison entre serveurs pour fournir un répertoire d'autres serveurs auquel l'utilisateur peut accéder.

Protocole

Le protocole Gopher a été décrit pour la première fois dans la RFC 1436. L'IANA ( Internet Assigned Numbers Authority ) a attribué le port TCP ( Transmission Control Protocol ) 70 au protocole Gopher. Le protocole est simple à négocier, ce qui permet de naviguer sans utiliser de client.

Demande de l'utilisateur

Tout d'abord, le client établit une connexion TCP avec le serveur sur le port 70, le port Gopher standard. Le client envoie ensuite une chaîne suivie d'un retour chariot suivi d'un saut de ligne (une séquence « CR + LF »). Il s'agit du sélecteur, qui identifie le document à récupérer. Si le sélecteur d'élément était une ligne vide, le répertoire par défaut serait sélectionné.

Réponse du serveur

Le serveur répond ensuite avec l'élément demandé et ferme la connexion. Selon le protocole, avant la fermeture de la connexion, le serveur doit envoyer un point final (c'est-à-dire un caractère point) sur une ligne. Cependant, tous les serveurs ne sont pas conformes à cette partie du protocole et le serveur peut fermer une connexion sans renvoyer de point final. Le principal type de réponse du serveur est une ressource texte ou binaire. Alternativement, la ressource peut être un menu : une forme de ressource de texte structuré fournissant des références à d'autres ressources.

En raison de la simplicité du protocole Gopher, des outils tels que netcat permettent de télécharger facilement du contenu Gopher à partir d'une ligne de commande :

$ echo jacks/jack.exe | nc gopher.example.org 70 > jack.exe 

Le protocole est également pris en charge par cURL à partir de la version 7.21.2-DEV.

Demande de recherche

La chaîne de sélection dans la requête peut éventuellement être suivie d'un caractère de tabulation et d'une chaîne de recherche. Ceci est utilisé par le type d'élément 7.

Code source d'un menu

Les éléments de menu Gopher sont définis par des lignes de valeurs séparées par des tabulations dans un fichier texte . Ce fichier est parfois appelé gophermap . En tant que code source d'un menu Gopher, un gophermap est à peu près analogue à un fichier HTML pour une page Web . Chaque ligne séparée par des tabulations (appelée ligne de sélection ) donne au logiciel client une description de l'élément de menu : ce qu'il est, comment il s'appelle et où il mène. Le client affiche les éléments de menu dans l'ordre dans lequel ils apparaissent dans le gophermap.

Le premier caractère d'une ligne de sélection indique le type d'élément , qui indique au client vers quel type de fichier ou de protocole l'élément de menu pointe. Cela aide le client à décider quoi en faire. Les types d'éléments de Gopher sont un précurseur plus basique du système de types de médias utilisé par le Web et les pièces jointes de courrier électronique .

Le type d'élément est suivi de la chaîne d'affichage de l'utilisateur (une description ou une étiquette qui représente l'élément dans le menu) ; du sélecteur (un chemin ou une autre chaîne pour la ressource sur le serveur) ; du nom d'hôte (le nom de domaine ou l'adresse IP du serveur) et du port réseau .

Toutes les lignes d'un menu Gopher se terminent par « CR + LF ».

Exemple de ligne de sélection dans une source de menu : la ligne de sélection suivante génère un lien vers le répertoire « /home » du sous-domaine gopher.floodgap.com, sur le port 70. Le type d'élément 1 indique que la ressource liée est un menu Gopher lui-même. La chaîne « Floodgap Home » est ce que le client affichera à l'utilisateur lorsqu'il visitera le menu d'exemple.

1Accueil Floodgap /home gopher.floodgap.com 70 

Types d'articles

Dans le code source d'un menu Gopher, un code à un caractère indique le type de contenu auquel le client doit s'attendre. Ce code peut être un chiffre ou une lettre de l'alphabet ; les lettres sont sensibles à la casse .

La spécification technique de Gopher, RFC 1436, définit 14 types d'éléments. La spécification gopher+ ultérieure a défini 3 types supplémentaires. Un code à un caractère indique le type de contenu auquel le client doit s'attendre. Le type d'élément est un code d'erreur pour la gestion des exceptions . Les auteurs du client Gopher ont improvisé des types d'éléments (HTML), (message d'information) et ( fichier son ) après la publication de la RFC 1436. Les navigateurs comme Netscape Navigator et les premières versions de Microsoft Internet Explorer préfixaient le code du type d'élément au sélecteur comme décrit dans la RFC 4266, de sorte que le type de l'élément gopher puisse être déterminé par l'URL elle-même. La plupart des navigateurs gopher encore disponibles utilisent ces préfixes dans leurs URL. 3his

Voici un exemple de session Gopher où l'utilisateur a besoin d'un menu Gopher ( /Referencesur la première ligne) :

/Référence 1CIA World Factbook /Archives/mirrors/textfiles.com/politics/CIA gopher.quux.org 70 0Jargon 4.2.0 /Référence/Jargon 4.2.0 gopher.quux.org 70 + 1Bibliothèques en ligne /Référence/Bibliothèques en ligne gopher.quux.org 70 + 1RFC : Normes Internet/Ordinateurs/Normes et spécifications/RFC gopher.quux.org 70 1U.S. Gazetteer /Référence/US Gazetteer gopher.quux.org 70 + Ce fichier contient des informations sur les faux États-Unis (NULL) 0 villes, comtés et zones géographiques. Il a faux (NULL) 0 ilatitude/longitude, population, superficie terrestre et maritime, faux (NULL) 0 iand codes postaux. faux (NULL) 0 je fais semblant (NULL) 0 iPour rechercher une ville, entrez le nom de la ville. Pour rechercher un faux (NULL) 0 si pour un comté, utilisez le nom plus le comté -- par exemple, faux (NULL) 0 Comté de Dallas. faux (NULL) 0 

Le menu gopher renvoyé par le serveur est une séquence de lignes dont chacune décrit un élément qui peut être récupéré. La plupart des clients les afficheront sous forme de liens hypertexte et permettront ainsi à l'utilisateur de naviguer dans l'espace gopher en suivant les liens. Ce menu comprend une ressource texte (itemtype 0sur la troisième ligne), plusieurs liens vers des sous-menus (itemtype 1, sur la deuxième ligne ainsi que les lignes 4 à 6) et un message d'information non standard (à partir de la ligne 7), décomposé en plusieurs lignes en fournissant des valeurs fictives pour le sélecteur, l'hôte et le port.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index