Gopher (protocolo)

Protocolo de capa de aplicación TCP/IP

Cronología de la historia de Internet

Investigación y desarrollo tempranos:

Fusionando las redes y creando Internet:

La comercialización, la privatización y el acceso más amplio conducen a la Internet moderna:

Ejemplos de servicios de Internet:

El protocolo Gopher ( / ˈ ɡ f ər / ) es unprotocolo de comunicacióndiseñado para distribuir, buscar y recuperar documentos ende protocolo de Internet. El diseño del protocolo Gopher y la interfaz de usuario están basados ​​en menús y presentaron una alternativa a laWorld Wide Webensus primeras etapas, pero finalmente cayeron en desgracia y dieron paso al Protocolo de transferencia de hipertexto (HTTP). El ecosistema Gopher se considera a menudo como el predecesor efectivo de la World Wide Web.[1][2]

Uso

El protocolo Gopher fue inventado por un equipo dirigido por Mark P. McCahill [3] en la Universidad de Minnesota . Ofrece algunas características que no son compatibles de forma nativa con la Web e impone una jerarquía mucho más estricta en los documentos que almacena. Su interfaz de menú de texto es adecuada para entornos informáticos que dependen en gran medida de terminales de computadora remotas orientadas a texto , que todavía eran comunes en el momento de su creación en 1991 , y la simplicidad de su protocolo facilitó una amplia variedad de implementaciones de clientes. Las revisiones más recientes de Gopher y los clientes gráficos agregaron soporte para multimedia. [ cita requerida ]

La estructura jerárquica de Gopher proporcionó una plataforma para las primeras conexiones de bibliotecas electrónicas a gran escala. [4] El protocolo Gopher todavía es utilizado por entusiastas y, aunque ha sido reemplazado casi por completo por la Web, aún queda una pequeña población de servidores que se mantienen activamente. [2]

Orígenes

El sistema Gopher fue lanzado a mediados de 1991 por Mark P. McCahill, Farhad Anklesaria, Paul Lindner, Daniel Torrey y Bob Alberti de la Universidad de Minnesota en los Estados Unidos. [5] Sus objetivos centrales eran, como se indica en el RFC  1436:

  • Una disposición jerárquica similar a un archivo que resultará familiar para los usuarios.
  • Una sintaxis sencilla.
  • Un sistema que se puede crear de forma rápida y económica.
  • Extensibilidad de la metáfora del sistema de archivos, permitiendo la adición de búsquedas, por ejemplo.

Gopher combina jerarquías de documentos con colecciones de servicios, incluidos WAIS , los motores de búsqueda Archie y Veronica , y puertas de enlace a otros sistemas de información como el Protocolo de transferencia de archivos (FTP) y Usenet .

El interés general en los sistemas de información de todo el campus (CWIS) en la educación superior en ese momento, [6] y la facilidad de configuración de los servidores Gopher para crear un CWIS instantáneo con enlaces a los directorios y recursos en línea de otros sitios, fueron los factores que contribuyeron a la rápida adopción de Gopher.

Anklesaria acuñó el nombre como un juego de palabras con varios significados de la palabra "gopher". [7] La ​​mascota de la Universidad de Minnesota es el gopher , [8] un gofer es un asistente que "va por" cosas, y un gopher excava en el suelo para llegar a un lugar deseado. [9]

Rechazar

En 1991, la World Wide Web estaba en pañales y los servicios de Gopher se consolidaron rápidamente. [10] A finales de los años 1990, Gopher había dejado de expandirse. Varios factores contribuyeron a su estancamiento:

  • En febrero de 1993, la Universidad de Minnesota anunció que cobraría tarifas de licencia por el uso de su implementación del servidor Gopher. [11] [9] Los usuarios comenzaron a preocuparse de que también se pudieran cobrar tarifas por implementaciones independientes. [12] [13] La expansión de Gopher se estancó, en beneficio de la World Wide Web, a la que el CERN negó la propiedad. [14] En septiembre de 2000, la Universidad de Minnesota volvió a licenciar su software Gopher bajo la Licencia Pública General de GNU . [15]
  • La funcionalidad del cliente Gopher fue rápidamente duplicada por el primer navegador web Mosaic , que absorbió su protocolo.
  • Gopher tiene una estructura más rígida que el lenguaje de marcado de hipertexto ( HTML ) de formato libre de la Web. Cada documento de Gopher tiene un formato y un tipo definidos, y el usuario típico navega a través de un único sistema de menú definido por el servidor para llegar a un documento en particular. Esto puede ser bastante diferente de la forma en que un usuario encuentra documentos en la Web.
  • No seguir el modelo de sistemas abiertos y mala publicidad en comparación con la World Wide Web [16]

Gopher sigue siendo utilizado activamente por sus entusiastas y ha habido intentos de revivirlo en plataformas modernas y dispositivos móviles. Uno de ellos es The Overbite Project, [17] que alberga varias extensiones de navegador y clientes modernos.

Censo de servidores

Número de servidores Gopher desde 2012 hasta 2022
  • En 2012 , Veronica-2[update] indexaba unos 160 servidores gopher , [18] lo que refleja un crecimiento lento desde 2007, cuando había menos de 100. [19] Por lo general, se actualizan con poca frecuencia. En estos servidores, Veronica indexó aproximadamente 2,5 millones de selectores únicos. Los aficionados configuraban un puñado de servidores nuevos cada año y desde 1999 se habían configurado y agregado más de 50 a la lista de Floodgap. [20] Una instantánea de Gopherspace en 2007 circuló en BitTorrent y todavía estaba disponible en 2010. [21] Debido a la simplicidad del protocolo Gopher, la configuración de nuevos servidores o la adición de compatibilidad con Gopher a los navegadores a menudo se hace de manera irónica , principalmente el Día de los Inocentes . [22]
  • En noviembre de 2014, Verónica indexó 144 servidores gopher, [18] lo que refleja una pequeña caída respecto de 2012, pero dentro de estos servidores Verónica indexó aproximadamente 3 millones de selectores únicos.
  • En marzo de 2016, Veronica indexó 135 servidores gopher, [18] dentro de los cuales indexó aproximadamente 4 millones de selectores únicos.
  • En marzo de 2017, Veronica indexó 133 servidores gopher, [18] dentro de los cuales indexó aproximadamente 4,9 millones de selectores únicos.
  • En mayo de 2018, Veronica indexó 260 servidores gopher, [18] dentro de los cuales indexó aproximadamente 3,7 millones de selectores únicos.
  • En mayo de 2019, Veronica indexó 320 servidores gopher, [18] dentro de los cuales indexó aproximadamente 4,2 millones de selectores únicos.
  • En enero de 2020, Veronica indexó 395 servidores gopher, [18] dentro de los cuales indexó aproximadamente 4,5 millones de selectores únicos.
  • En febrero de 2021, Veronica indexó 361 servidores gopher, [18] dentro de los cuales indexó aproximadamente 6 millones de selectores únicos.
  • En febrero de 2022, Veronica indexó 325 servidores gopher, [18] dentro de los cuales indexó aproximadamente 5 millones de selectores únicos.

Detalles técnicos

La conceptualización del conocimiento en un “espacio Gopher” o una “nube” como información específica en un archivo particular, y la prominencia del FTP, influyeron en la tecnología y la funcionalidad resultante de Gopher.

Características de la tuza

Gopher está diseñado para funcionar y parecerse mucho a un sistema de archivos de red global de solo lectura montable (y hay software disponible, como gopherfs, que puede montar un servidor Gopher como un recurso FUSE ). Como mínimo, todo lo que se puede hacer con archivos de datos en un CD-ROM se puede hacer en Gopher.

Un sistema Gopher consta de una serie de menús jerárquicos que se pueden enlazar entre sí. La elección de los elementos y títulos del menú está controlada por el administrador del servidor.

De manera similar a un archivo en un servidor web, un archivo en un servidor Gopher puede vincularse como un elemento de menú desde cualquier otro servidor Gopher. Muchos servidores aprovechan esta vinculación entre servidores para proporcionar un directorio de otros servidores a los que el usuario puede acceder.

Protocolo

El protocolo Gopher se describió por primera vez en RFC  1436. La Autoridad de Números Asignados de Internet (IANA) ha asignado el puerto 70 del Protocolo de Control de Transmisión (TCP) al protocolo Gopher. El protocolo es fácil de negociar, lo que permite navegar sin utilizar un cliente.

Solicitud de usuario

En primer lugar, el cliente establece una conexión TCP con el servidor en el puerto 70, el puerto estándar de Gopher. A continuación, el cliente envía una cadena seguida de un retorno de carro seguido de un salto de línea (una secuencia "CR + LF"). Este es el selector, que identifica el documento que se va a recuperar. Si el selector de elementos fuera una línea vacía, se seleccionaría el directorio predeterminado.

Respuesta del servidor

El servidor responde con el elemento solicitado y cierra la conexión. Según el protocolo, antes de cerrar la conexión, el servidor debe enviar un punto (es decir, un carácter de punto) en una línea por sí mismo. Sin embargo, no todos los servidores cumplen con esta parte del protocolo y el servidor puede cerrar una conexión sin devolver un punto final. El principal tipo de respuesta del servidor es un recurso de texto o binario. Alternativamente, el recurso puede ser un menú: una forma de recurso de texto estructurado que proporciona referencias a otros recursos.

Debido a la simplicidad del protocolo Gopher, herramientas como netcat permiten descargar contenido de Gopher fácilmente desde una línea de comandos:

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

El protocolo también es compatible con cURL a partir de la versión 7.21.2-DEV. [23]

Solicitud de búsqueda

La cadena de selección en la solicitud puede ir seguida opcionalmente de un carácter de tabulación y una cadena de búsqueda. Esto lo utiliza el tipo de elemento 7.

Código fuente de un menú

Los elementos del menú de Gopher se definen mediante líneas de valores separados por tabulaciones en un archivo de texto . Este archivo a veces se denomina gophermap . Como código fuente de un menú de Gopher, un gophermap es aproximadamente análogo a un archivo HTML para una página web . Cada línea separada por tabulaciones (llamada línea de selector ) proporciona al software cliente una descripción del elemento del menú: qué es, cómo se llama y a dónde conduce. El cliente muestra los elementos del menú en el orden en que aparecen en el gophermap.

El primer carácter de una línea de selección indica el tipo de elemento , que le indica al cliente a qué tipo de archivo o protocolo apunta el elemento del menú. Esto ayuda al cliente a decidir qué hacer con él. Los tipos de elementos de Gopher son un precursor más básico del sistema de tipos de medios utilizado por los archivos adjuntos de correo electrónico y la Web .

Al tipo de elemento le sigue la cadena de visualización del usuario (una descripción o etiqueta que representa el elemento en el menú); el selector (una ruta u otra cadena para el recurso en el servidor); el nombre de host (el nombre de dominio o la dirección IP del servidor) y el puerto de red .

Todas las líneas de un menú gopher terminan con "CR + LF".

Ejemplo de una línea de selección en una fuente de menú: La siguiente línea de selección genera un vínculo al directorio "/home" en el subdominio gopher.floodgap.com, en el puerto 70. El tipo de elemento 1 indica que el recurso vinculado es un menú de Gopher. La cadena "Floodgap Home" es lo que el cliente mostrará al usuario cuando visite el menú de ejemplo.

1Inicio de Floodgap /inicio gopher.floodgap.com 70
Tipo de artículoCadena de visualización del usuarioSelectorNombre de hostPuerto
1Casa en Floodgap/hogargopher.floodgap.com70

Tipos de artículos

En el código fuente de un menú de Gopher, un código de un carácter indica qué tipo de contenido debe esperar el cliente. Este código puede ser un dígito o una letra del alfabeto; las letras distinguen entre mayúsculas y minúsculas .

La especificación técnica de Gopher, RFC  1436, define 14 tipos de elementos. La especificación posterior gopher+ definió 3 tipos adicionales. [24] Un código de un carácter indica qué tipo de contenido debe esperar el cliente. El tipo de elemento es un código de error para el manejo de excepciones . Los autores del cliente Gopher improvisaron tipos de elementos (HTML), (mensaje informativo) y ( archivo de sonido ) después de la publicación de RFC 1436. Los navegadores como Netscape Navigator y las primeras versiones de Microsoft Internet Explorer anteponían el código de tipo de elemento al selector como se describe en RFC  4266, de modo que el tipo de elemento de Gopher pudiera determinarse por la propia URL. La mayoría de los navegadores Gopher aún disponibles utilizan estos prefijos en sus URL.3his

Tipos canónicos
0Archivo de texto
1Submenú de Gopher
2Servidor de nombres CCSO
3Código de error devuelto por un servidor Gopher para indicar una falla
4Archivo codificado en BinHex (principalmente para computadoras Macintosh )
5Archivo DOS
6archivo uuencoded
7Búsqueda de texto completo en Gopher
8Telnet
9Archivo binario
+Servidor espejo o alternativo (para equilibrar la carga o en caso de inactividad del servidor principal )
gramoArchivo GIF
IArchivo de imagen
yoTelnet 3270
tipos de gopher+
:Imagen de mapa de bits
;Archivo de película
<Archivo de sonido
Tipos no canónicos
dDoc. Se utiliza junto con archivos PDF y .doc
yoArchivo HTML
iMensaje informativo, ampliamente utilizado. [25]
pagarchivo de imagen "(especialmente el formato PNG )"
aDocumento en formato RTF (" Formato de texto enriquecido ")
sArchivo de sonido (especialmente el formato WAV )
PAGArchivo PDF (formato de documento portátil)
incógnitaArchivo XML (lenguaje de marcado extensible)

A continuación se muestra un ejemplo de una sesión de gopher donde el usuario requiere un menú de gopher ( /Referenceen la primera línea):

/Referencia1CIA World Factbook /Archivos/mirrors/textfiles.com/politics/CIA gopher.quux.org 700Jargon 4.2.0 /Referencia/Jargon 4.2.0 gopher.quux.org 70 +1Bibliotecas en línea /Referencia/Bibliotecas en línea gopher.quux.org 70 +1RFC: Estándares de Internet /Computadoras/Estándares y especificaciones/RFC gopher.quux.org 701Diccionario geográfico de EE. UU. /Referencia/Diccionario geográfico de EE. UU. gopher.quux.org 70 +Este archivo contiene información sobre Estados Unidos falso (NULL) 0icidades, condados y áreas geográficas. Tiene falsos (NULL) 0latitud/longitud, población, superficie terrestre y acuática, falso (NULL) 0y códigos postales. falso (NULL) 0yo finjo (NULL) 0Para buscar una ciudad, ingrese el nombre de la ciudad. Para buscar una ciudad falsa (NULL) 0Si se trata de un condado, utilice el nombre más Condado; por ejemplo, falso (NULL) 0Condado de iDallas. falso (NULL) 0

El menú de Gopher enviado desde el servidor es una secuencia de líneas, cada una de las cuales describe un elemento que se puede recuperar. La mayoría de los clientes los mostrarán como enlaces de hipertexto , y así permitirán al usuario navegar por el espacio de Gopher siguiendo los enlaces. [5] Este menú incluye un recurso de texto (itemtype 0en la tercera línea), múltiples enlaces a submenús (itemtype 1, en la segunda línea, así como en las líneas 4 a 6) y un mensaje de información no estándar (a partir de la línea 7), dividido en varias líneas al proporcionar valores ficticios para selector, host y puerto.

Históricamente, para crear un enlace a un servidor web, se utilizaba "GET /" como pseudoselector para emular una petición HTTP GET . [26] John Goerzen creó una adición [27] al protocolo Gopher, comúnmente denominada " enlaces URL ", que permite enlaces a cualquier protocolo que admita URL. Por ejemplo, para crear un enlace a http://gopher.quux.org/, el tipo de elemento es , la cadena de visualización es el título del enlace, el selector de elementos es "URL:http://gopher.quux.org/", y el dominio y el puerto son los del servidor Gopher de origen (de modo que los clientes que no admiten enlaces URL consultarán al servidor y recibirán una página de redirección HTML).h

Tuza+

Gopher+ es una mejora compatible con el futuro del protocolo Gopher. Gopher+ funciona enviando metadatos entre el cliente y el servidor. La mejora nunca fue ampliamente adoptada por los servidores Gopher. [28] [29] [30] El cliente envía una tabulación seguida de un +. Un servidor Gopher+ responderá con una línea de estado seguida del contenido solicitado por el cliente. Un elemento se marca como compatible con Gopher+ en la lista de directorios de Gopher mediante una tabulación + después del puerto (este es el caso de algunos de los elementos en el ejemplo anterior).

Otras características de Gopher+ incluyen:

  • Atributos del artículo, que pueden incluir los elementos
    • Administrador
    • Última fecha de modificación
    • Diferentes vistas del archivo, como PostScript o texto simple, o diferentes idiomas
    • Resumen o descripción del artículo
  • Consultas interactivas

Software de cliente

Clientes de Gopher

Se trata de clientes, bibliotecas y utilidades diseñadas principalmente para acceder a los recursos de Gopher.

ClienteActualizadoLicenciaIdiomaTipoNotas
ÁCIDO2021?doInterfaz gráfica de usuario (Windows)Admite caché de página, TFTP y tiene extensión G6.
Bombadillo2022Licencia GPL versión 3IrInterfaz de usuario de usuario (Linux, BSD, macOS )Compatible con Gopher, Gemini y Finger.
rizo2024doCLI
Elefante2022Licencia GPL versión 3Emacs LispUIS/GUIElpher: un cliente gopher, finger y gemini para GNU Emacs
Eva2022Licencia GPL versión 3ÓxidoInterfaz gráfica de usuarioEva (como en actividad extravehicular o caminata espacial) es un navegador de protocolo Gemini y Gopher en GTK 4.
Navegador Gopher2019Código cerradoVB.NETInterfaz gráfica de usuario (Windows)
Cliente Gopher2018Aplicación (iOS) [31]Admite reflujo de texto, marcadores, historial, etc.
tuza2022Instituto Tecnológico de Massachusetts (MIT)JavaAplicación (Android)Admite únicamente funcionalidades básicas como marcadores, historial de sesiones, descargas, etc.
tuza2020BSD de 2 cláusulasdoTUI (Linux, BSD, Windows, DOS)Incluye marcadores y almacenamiento en caché de páginas.
Gofio2020Licencia GPL versión 3JavaInterfaz gráfica de usuario (Windows, MacOS, Linux)
Cristal2020Licencia GPL versión 3C++Interfaz gráfica de usuario (Linux)Cliente GUI Gemini con soporte para Gopher, Finger y www.
Lagrange2022BSD de 2 cláusulasdoInterfaz gráfica de usuarioCliente GUI de Gemini con compatibilidad con Gopher y Finger. Cambia a solicitudes de tipo 1/gophermap en la navegación principal/raíz. [32]
Cliente de Little Gopher2019PascalLinux, Mac, WindowsBarra lateral con vista jerárquica
ncgopher2022BSD de 2 cláusulasÓxidoTUIncgopher es un cliente gopher y gemini que utiliza ncurses.
Tuza de bolsillo2019Sin licenciaJavaAplicación (Android)Admite marcadores, historial, descargas, etc.
saco2022doTUIsacc(omys) es un cliente gopher de terminal.
snarf2020Licencia pública general (GPL)doCLIBuscador de recursos multipropósito, sencillo y no interactivo
m3m2021Instituto Tecnológico de Massachusetts (MIT)doTUIw3m es un navegador web basado en texto

Otros clientes

Clientes como navegadores web, bibliotecas y utilidades diseñadas principalmente para acceder a recursos de la World Wide Web, pero que mantienen (o mantenían) soporte para gopher.

  • Browser, un navegador para RISC OS
  • Camino , versiones 1.0 a 2.1.2, siempre usa el puerto 70.
  • Classilla , versiones 9.0 a 9.3.4b1 a marzo de 2021, codificada en el puerto 70 de 9.0 a 9.2; puertos incluidos en la lista blanca desde 9.2.1
  • Dillo+
  • Doble
  • ELinks , versiones 0.10.0 [33] a 0.12pre6 a octubre de 2012, navegador sin mantenimiento con opción de compilación gopher. La bifurcación felinks [34] ofrece soporte como opción de compilación
  • Edbrowse, un editor y navegador orientado a líneas con una interfaz como la de ed (editor de texto)
  • Falkon , solo con complemento, requiere Falkon ≥ 3.1.0 con la extensión KDE Frameworks Integration (incluida con Falkon ≥ 3.1.0) habilitada y el complemento kio_gopher (separado) [35] ≥ 0.1.99 (primera versión para KDE Frameworks 5) instalado
  • Versiones 0.1 a 3.6 de Mozilla Firefox , el soporte integrado se eliminó a partir de Firefox 4.0 en adelante; [36] se puede volver a agregar instalando una de las extensiones del Proyecto Overbite [17]
  • Versión 2.0.7 de Galeon
  • Google Chrome , solo con extensión, [37] Extensión Burrow [38]
  • Internet Explorer para Mac versión 5.2.3, solo PowerPC
  • Internet Explorer , abandonado con la versión 6: el soporte eliminado por MS02-047 de IE 6 SP1 se puede volver a habilitar en el Registro de Windows . [39] Siempre usa el puerto 70. El soporte de Gopher se deshabilitó en las versiones 5.x y 6 de Internet Explorer para Windows en agosto de 2002 mediante un parche destinado a corregir una vulnerabilidad de seguridad en el controlador de protocolo Gopher del navegador para reducir la superficie de ataque que se incluyó en IE6 SP1; sin embargo, se puede volver a habilitar editando el registro de Windows . En Internet Explorer 7 , el soporte de Gopher se eliminó en el nivel WinINET . [40]
  • K-Meleon , abandonó el soporte
  • Konqueror , solo con complemento, requiere el complemento kio_gopher [35]
  • Navegador de modo de línea , desde la versión 1.1, enero de 1992
  • Lince
  • Mosaico , versión 3.0
  • NetSurf , en desarrollo, basado en el buscador cURL
  • Netscape Navigator , versión 9.0.0.6
  • OmniWeb , desde la versión 5.9.2 (abril de 2009) , primer navegador WebKit compatible con Gopher [41] [42]
  • Opera , Opera 9.0 incluyó una capacidad de proxy
  • Pavuk, un programa de software de espejo web (descarga recursiva)
  • SeaMonkey , versión 1.0 a 2.0.14, el soporte integrado se eliminó a partir de la versión 2.1 en adelante; se podría volver a agregar a algunas versiones a través del proyecto Overbite, [17] pero ya no es compatible.
  • Epifanía , hasta la versión 2.26.3, deshabilitada con el cambio a WebKit
  • WebPositive , un navegador basado en WebKit utilizado en el sistema operativo Haiku
  • libwww , versiones 1.0c (diciembre de 1992) a 5.4.1 (diciembre de 2006 ), libwww es una API discontinuada para aplicaciones de Internet. Se mantiene una bifurcación moderna en Lynx

Los navegadores que no tienen compatibilidad nativa con Gopher pueden acceder a los servidores utilizando una de las puertas de enlace de Gopher a HTTP disponibles o un servidor proxy que convierte los menús de Gopher en HTML ; los proxies conocidos son el proxy Gopher público Floodgap y el proxy Gopher. De manera similar, ciertos paquetes de servidor como GN y PyGopherd tienen interfaces Gopher a HTTP integradas. El software Squid Proxy convierte cualquier gopher://URL en contenido HTTP, lo que permite que cualquier navegador o agente web acceda fácilmente al contenido de Gopher.

Para Mozilla Firefox y SeaMonkey , las extensiones Overbite [17] amplían la navegación Gopher y admiten las versiones actuales de los navegadores (Firefox Quantum v ≥57 y versiones equivalentes de SeaMonkey):

  • OverbiteWX redirige gopher://las URL a un proxy;
  • OverbiteNX agrega soporte nativo;
  • Para Firefox hasta 56.* y versiones equivalentes de SeaMonkey, OverbiteFF agrega soporte nativo, pero ya no se mantiene.

OverbiteWX incluye soporte para acceder a servidores Gopher que no estén en el puerto 70 usando una lista blanca y para consultas CSO/ph . OverbiteFF siempre usa el puerto 70. Para Chromium y Google Chrome , está disponible Burrow [38] . Redirecciona gopher://las URL a un proxy. En el pasado, estaba disponible una extensión basada en proxy de Overbite para estos navegadores, pero ya no se mantiene y no funciona con las versiones actuales (>23). [17] Para Konqueror , está disponible Kio gopher [43] .

Como la interfaz simple de ahorro de ancho de banda de Gopher puede ser una buena opción para teléfonos móviles y asistentes digitales personales (PDA), [44] a principios de la década de 2010 se vio un renovado interés en los clientes nativos de Gopher para los teléfonos inteligentes más populares .

La popularidad de Gopher alcanzó su punto máximo en una época en la que todavía había muchas arquitecturas informáticas y sistemas operativos que competían por igual. Como resultado, hay varios clientes Gopher disponibles para Acorn RISC OS , AmigaOS , Atari MiNT , Conversational Monitor System (CMS), DOS , Mac OS clásico , MVS , NeXT , OS/2 Warp , la mayoría de los sistemas operativos tipo Unix , VMS , Windows 3.x y Windows 9x . GopherVR era un cliente diseñado para la visualización 3D, e incluso hay un cliente Gopher en MOO . [45] [46] La mayoría de estos clientes están codificados para funcionar en el puerto 70 del Protocolo de control de transmisión (TCP). [47]

Software de servidor

Dado que el protocolo es fácil de implementar de manera básica, todavía hay muchos paquetes de servidor disponibles y algunos aún se mantienen.

ServidorDesarrollado porÚltima versiónFecha de lanzamientoLicenciaEscrito enNotas
RéplicaRob Linwood1.0.122 de abril de 2004Instituto Tecnológico de Massachusetts (MIT)Java
Apache::Manejador de GopherTim Murray0,126 de marzo de 2004GPLv2 o cualquier versión posteriorPerlComplemento de Apache 2 para ejecutar Gopher-Server.
En realidadCharles Childers2017.49 de octubre de 2017CSIAdelante
Bucktooth (enlace de gopher) (enlace proxy)Cameron Kaiser0.2.1010 de febrero de 2024Licencia de software libre FloodgapPerl
Matraz-GopherMichael Lazar2.2.111 de abril de 2020Licencia GPL versión 3Pitón
geomidoQuinn Evans0.0.110 de agosto de 2015BSD de 2 cláusulasCeceo común
geomyidae (enlace de tuza) (enlace proxy)Cristoph Lohmann0,9626 de agosto de 2022Instituto Tecnológico de Massachusetts (MIT)doScripts dinámicos REST, compatibilidad con TLS de Gopher, capa de compatibilidad para otros mapas de Gopher
Ir a pescarSean MacLennan1.28 de octubre de 2010Licencia GPL versión 2do
go-gopherJames Mills31 de marzo de 2022Instituto Tecnológico de Massachusetts (MIT)Ir
Servidor GopherTim Murray0.1.126 de marzo de 2004Licencia GPL versión 2Perl
GophernicusKim Holviala y otros3.1.13 de enero de 2021BSD de 2 cláusulasdo
gophrierGuillermo Duhamel0.2.329 de marzo de 2012Licencia GPL versión 2do
GoscherAaron W. Hsu8.020 de junio de 2011CSIEsquema
dios mioCompañero Nagy1.129 de enero de 2018Licencia GPL versión 3do
MotsognirMateusz Viste1.0.138 de enero de 2021Instituto Tecnológico de Massachusetts (MIT)doExtensible a través de mapas Gopher personalizados, scripts CGI y PHP
Pituophispuntocomboom1.116 de mayo de 2020BSD de 2 cláusulasPitónBiblioteca Gopher basada en Python con soporte tanto para servidor como para cliente
PyGopherdMichael Lazar3.0.125 de febrero de 2024Licencia GPL versión 2PitónTambién es compatible con HTTP, WAP y Gopher+
RedisSalvatore Sanfilippo6.2.521 de julio de 2021BSD de 3 cláusulasdoSoporte eliminado en la versión 7 [48]
guardar_servidor_gopherSSS85550,7777 de julio de 2020?Perlcon extensión G6 y TFTP
Galleta espacialLucas Epple1.0.0.017 de marzo de 2021Licencia GPL versión 3Haskell
XilofarNathaniel Leveck0.0.115 de enero de 2020Licencia GPL versión 3LibreBASIC

Véase también

Referencias

  1. ^ Carlson, Scott (5 de septiembre de 2016). «Cómo Gopher casi ganó Internet». Chronicle of Higher Education . Consultado el 12 de septiembre de 2016 .
  2. ^ ab Barras, Colin (12 de marzo de 2009). «Cómo la Ley de Moore nos salvó de la telaraña de Gopher». New Scientist . Archivado desde el original el 31 de agosto de 2011. Consultado el 20 de septiembre de 2011 .
  3. ^ Mark P. McCahill entrevistado en el programa de televisión Triangulation de la cadena TWiT.tv
  4. ^ Suzan D. McGinnis (2001). Gestión de colecciones electrónicas. Routledge. Págs. 69-72. ISBN. 0-7890-1309-6.
  5. ^ ab December, John; Randall, Neil (1994). La World Wide Web desatada . Sams Publishing. p. 20. ISBN 1-57521-040-1.
  6. ^ "PAPER: Topics". Grupo de noticias : bit.listserv.cwis-l. 12 de enero de 1992. Consultado el 27 de julio de 2011 .
  7. ^ Mark McCahill, Farhad Anklesaria. "Smart Solutions: Internet Gopher" (Flash) . Minneapolis: University of Minnesota Media Mill. El evento ocurre a las 2:40. Archivado desde el original el 20 de julio de 2011.McCahill le da crédito a Anklesaria por haberle dado el nombre a Gopher
  8. ^ "Gophersports.com – Sitio web oficial de atletismo de la Universidad de Minnesota". Archivado desde el original el 14 de agosto de 2010. Consultado el 17 de agosto de 2010 .
  9. ^ ab Gihring, Tim (11 de agosto de 2016). "El ascenso y la caída del protocolo Gopher". minnpost.com . Consultado el 12 de agosto de 2016 .
  10. ^ Gregersen, Erik; Featherly, Kevin (11 de mayo de 2016). «ARPANET». Enciclopedia Británica . Consultado el 3 de mayo de 2023 .
  11. ^ "Asunto: Política de licencias de software Gopher de la Universidad de Minnesota". Funet.fi . Consultado el 12 de agosto de 2015 .
  12. ^ JQ Johnson (25 de febrero de 1993). "gopher licensing". Grupo de noticias : comp.infosystems.gopher . Consultado el 27 de julio de 2011 .
  13. ^ Joel Rubin (3 de marzo de 1999). "CW desde la página del servidor VOA". Grupo de noticias : rec.radio.shortwave . Consultado el 27 de julio de 2011 .
  14. ^ Johan Söderberg (2007). Hackeando el capitalismo: el movimiento del software libre y de código abierto . Routledge. pág. 25. ISBN 978-0-415-95543-0.
  15. ^ "UMN Gopher(d) publicado bajo la GPL!". Grupo de noticias : comp.infosystems.gopher. 1 de septiembre de 2000. Consultado el 12 de agosto de 2015 .
  16. ^ Christopher (Cal) Lee (23 de abril de 1999). "¿Adónde se han ido todos los Gopher? Por qué la Web venció a Gopher en la batalla por la distribución de información en el protocolo".
  17. ^ abcde "The Overbite Project". Floodgap . Consultado el 25 de julio de 2010 .
  18. ^ abcdefghi «Puerta de enlace Gopher-HTTP de Floodgap gopher://gopher/0/v2/vstat». Gopher.floodgap.com . Consultado el 5 de enero de 2017 .
  19. ^ Kaiser, Cameron (19 de marzo de 2007). "Down the Gopher Hole". TidBITS . Consultado el 23 de marzo de 2007 .
  20. ^ "Este es un enlace de Gopher". gopher.floodgap.com . Archivado desde el original el 4 de agosto de 2011.
  21. ^ "Descargar un fragmento de la historia de Internet". Registro de cambios. 28 de abril de 2010. Archivado desde el original el 23 de julio de 2011. Consultado el 27 de julio de 2011 .
  22. ^ "Notas de la versión – OmniWeb 5 – Productos". The Omni Group. Archivado desde el original el 7 de agosto de 2011. Consultado el 27 de julio de 2011. OmniWeb 5.9.2 Publicado el 1 de abril de 2009: Se implementó un soporte innovador para el protocolo Gopher revolucionario, ¡una novedad para los navegadores basados ​​en WebKit! Para obtener una lista de servidores Gopher, consulte la lista Floodgap. ¡Disfrute!El mismo texto aparece en la versión 5.10 del 27 de agosto de 2009 más abajo en la página, copiado de la rama inestable 5.9.2. La lista de Floodgap a la que se hace referencia se encuentra en Floodgap: nuevos servidores Gopher y no hace referencia al Día de los Inocentes.
  23. ^ "Curl: Re: Parches Gopher para cURL (incluye paquete de pruebas)". curl-library (Lista de correo). 25 de agosto de 2010. Archivado desde el original el 21 de abril de 2019 . Consultado el 9 de marzo de 2020 .
  24. ^ "Especificación del protocolo Gopher+". GitHub .
  25. ^ "¿Qué dice la entrada del directorio? Tipos de campos del tipo Gopher actual". 5 de marzo de 2019.
  26. ^ "Gopher en la World Wide Web" . Consultado el 29 de septiembre de 2021 .
  27. ^ "Gopher: gopher.2002-02". gopher (Lista de correo). Gopher.quux.org . Consultado el 12 de agosto de 2015 .
  28. ^ Mešnjak, Matjaž (16 de febrero de 2009). "Re: Nuevo servidor y cliente Gopher". Grupo de noticias : gmane.network.gopher.general. Archivado desde el original el 10 de marzo de 2015. Consultado el 3 de febrero de 2012 .
  29. ^ Buzón JumpJet (14 de enero de 2008). «Re: Información de contacto del servidor». Grupo de noticias : gmane.network.gopher.general. Archivado desde el original el 10 de marzo de 2015. Consultado el 3 de febrero de 2012 .
  30. ^ P. Hoffman (noviembre de 2005). El esquema URI de Gopher. Grupo de trabajo de redes. doi : 10.17487/RFC4266 . RFC 4266. Norma propuesta. Deja obsoleta la RFC 1738.
  31. ^ Charles Childers. "Gopher Client en la App Store". iTunes . Archivado desde el original el 24 de mayo de 2022.
  32. ^ skyjake (24 de enero de 2022). "v1.10.2". gemini/lagrange . Gitea. Archivado desde el original el 12 de marzo de 2023.
  33. ^ Fonseca, Jonas (24 de diciembre de 2004). "[ANUNCIO] ELinks-0.10.0 (Thelma)". elinks-users (Lista de correo). Linux From Scratch . Archivado desde el original el 20 de febrero de 2007. Consultado el 22 de mayo de 2010 .
  34. ^ asakura42; rkd77 (5 de marzo de 2021). "¿Qué ventajas tiene Elinks sobre la versión original actual de Links?". rkd77/elinks . GitHub . Archivado desde el original el 13 de marzo de 2023.
  35. ^ ab "Kio tuza". Wiki de la base de usuarios de KDE . Archivado desde el original el 1 de mayo de 2018 . Consultado el 1 de mayo de 2018 .
  36. ^ Strong, Robert; et al. (14 de julio de 2007). «Bug 388195 – Remove Gopher protocol support for Firefox» (Error 388195: eliminar la compatibilidad del protocolo Gopher para Firefox). Bugzilla . Consultado el 15 de junio de 2010 .
  37. ^ hotaru.firefly; et al. (2 de mayo de 2009). "Problema 11345: el protocolo gopher no funciona". Problemas - chromium . Consultado el 25 de julio de 2011 .
  38. ^ ab "Burrow: Gopherspace Explorer para Chrome". Chrome Web Store . Archivado desde el original el 26 de enero de 2024. Consultado el 1 de julio de 2019 .
  39. ^ "Microsoft Security Bulletin MS02-047". Microsoft . 28 de febrero de 2003. Archivado desde el original el 4 de julio de 2011 . Consultado el 23 de marzo de 2007 .
  40. ^ "Notas de la versión de Internet Explorer 7". Microsoft . 2006. Archivado desde el original el 4 de agosto de 2011 . Consultado el 23 de marzo de 2007 .
  41. ^ Sharps, Linda (1 de abril de 2009). «OmniWeb 5.9.2 ahora incluye compatibilidad con Gopher». The Omni Group . Archivado desde el original el 14 de agosto de 2011. Consultado el 3 de abril de 2009 .
  42. ^ "Una lista completa de cambios para cada versión de OmniWeb". The Omni Group . 1 de abril de 2009. Archivado desde el original el 7 de agosto de 2011. Consultado el 3 de abril de 2009 .
  43. ^ "Kio gopher" . Consultado el 1 de abril de 2017 .
  44. ^ Lore Sjöberg (12 de abril de 2004). «Gopher: tecnología subterránea». Wired News . Archivado desde el original el 12 de octubre de 2008. Consultado el 27 de julio de 2011 .
  45. ^ Riddle, Prentiss (13 de abril de 1993). "GopherCon '93: Taller sobre Internet Gopher y Conferencia sobre Internet Gopher". PrentissRiddle.com . Consultado el 20 de mayo de 2008 .
  46. ^ Masinter, L.; Ostrom, E. (junio de 1993). "Recuperación de información colaborativa: Gopher de MOO" (PDF) . Actas de INET . Vol. 93.
  47. ^ Anklesaria, Farhad; McCahill, Mark P; Lindner, Paul; Johnson, David; Torrey, Daniel; Alberti, Bob (marzo de 1993). Protocolo Gopher de Internet (un protocolo distribuido de búsqueda y recuperación de documentos). Network Working Group. doi : 10.17487/RFC1436 . RFC 1436. Informativo.
  48. ^ "Eliminar la compatibilidad con el protocolo Gopher. Por yoav-steinberg · Solicitud de incorporación de cambios n.° 9057 · redis/Redis". GitHub .
  49. ^ "Todo sobre Archie, Gopher, Verónica y Jughead".
  • Lista de servidores Gopher públicos (enlace Gopher) (enlace proxy)
  • Anuncio de Gopher en Usenet el 8 de octubre de 1991
  • ¿Por qué sigue siendo relevante Gopher? – Una declaración de posición sobre la supervivencia de Gopher
  • La Web puede haber ganado, pero Gopher sigue adelante: artículo publicado por el sitio de debate tecnológico Ars Technica sobre la comunidad de entusiastas de Gopher el 5 de noviembre de 2009
  • Historia de Gopher – Artículo en MinnPost
  • Gopherpedia – Interfaz Gopher para Wikipedia (enlace Gopher) (enlace proxy, por otro proxy)
  • Mark McCahill y Farhad Anklesaria, inventores de la tuza, explican la evolución de la tuza: parte 1, parte 2
  • Propuesta de especificación de Gopher+ (enlace de Gopher)
Retrieved from "https://en.wikipedia.org/w/index.php?title=Gopher_(protocol)&oldid=1251888531"