Géminis (protocolo)

Protocolo de capa de aplicación TCP/IP
Géminis
Desarrollado porSolderpunk y otros.
IntroducidoJunio ​​de 2019 ( 2019-06 )
Sitio webgeminiprotocol.net
Texto de gemas
Extensión de nombre de archivo
.gmi, .gmni, .gemini
Tipo de medio de Internettext/gemini(no oficial)
Código de tipoTEXTO
Desarrollado porSolderpunk y otros.
Último lanzamiento
0.24.0
31 de marzo de 2024 ; hace 7 meses ( 31-03-2024 )
Tipo de formatoLenguaje de marcado
¿ Formato abierto ?
Sitio webgeminiprotocol.net/docs/specification.gmi

Gemini es un protocolo de comunicación de Internet de capa de aplicación para acceder a documentos remotos, similar a HTTP y Gopher . Viene con un formato de documento especial, comúnmente conocido como "gemtext", que permite vincular a otros documentos. Iniciado por una persona seudónima conocida como Solderpunk, el protocolo se está finalizando de forma colaborativa y, a octubre de 2022 [actualizar], no se ha enviado a la organización IETF para su estandarización .

Historia

El proyecto Gemini fue iniciado en junio de 2019 por Solderpunk. Una comunidad informal de usuarios ha realizado trabajos adicionales. Según las preguntas frecuentes de Solderpunk, Gemini no pretende reemplazar a Gopher o HTTP, sino coexistir con ellos. [1] Gran parte del desarrollo se realizó en la lista de correo Gemini hasta que la lista desapareció a fines de 2021 debido a un problema de hardware. [2] La creación del grupo de noticias de Usenet comp.infosystems.gemini en octubre de 2021 fue el primer grupo de noticias nuevo en la jerarquía de Big Eight en ocho años. [3]

Diseño

La especificación Gemini define tanto el protocolo Gemini como un formato de archivo nativo para ese protocolo, análogo a HTML para HTTP, conocido como "gemtext". El diseño está inspirado en Gopher , pero con modernizaciones como el uso obligatorio de Transport Layer Security (TLS) para conexiones y un formato de hipertexto como tipo de contenido nativo. [4]

El diseño no es fácilmente extensible deliberadamente, con el fin de cumplir con el objetivo de simplicidad del proyecto. [5]

Protocolo

Gemini está diseñado dentro del marco de la suite de protocolos de Internet . Al igual que HTTP/S, Gemini funciona como un protocolo de solicitud-respuesta en el modelo informático cliente-servidor. Un servidor Gemini debería escuchar en el puerto TCP 1965. Un navegador Gemini, por ejemplo, puede ser el cliente y una aplicación que se ejecuta en una computadora que aloja un sitio Gemini puede ser el servidor . El cliente envía un mensaje de solicitud Gemini al servidor, y el servidor envía de vuelta un mensaje de respuesta . Gemini utiliza una conexión separada al mismo servidor para cada solicitud de recurso. [6]

Gemini exige el uso de TLS con funciones relacionadas con la privacidad y se recomienda enfáticamente la verificación de confianza en el primer uso (TOFU). [7]

Navegación por Gemini a través de Amfora - cliente cli

Los recursos de Gemini se identifican y ubican en la red mediante localizadores uniformes de recursos (URL), utilizando el esquema URI gemini:// . Una solicitud de Gemini consta únicamente de dicha URL, terminada en CRLF; el encabezado de una respuesta de Gemini consta de un código de estado de dos dígitos, un espacio y un campo "meta", también terminado en CRLF. Si el servidor logra encontrar el archivo solicitado, el campo "meta" es el tipo MIME del archivo devuelto y después del encabezado siguen los datos del archivo.

Sesión de ejemplo
Cliente
geminis://ejemplo.com/
Servidor
20 texto/geminis# Título de ejemploBienvenido a mi cápsula Géminis.* Ejemplo de elemento de lista=> gemini://link.to/another/resource Texto del enlace

Formato de texto gemológico

El formato Gemtext está orientado a líneas y los tres primeros caracteres de una línea determinan su tipo. La sintaxis incluye marcado para titulares, elementos de listas planas, texto preformateado, citas y líneas de enlace. Al igual que con el hipertexto HTTP, los URI se codifican como hipervínculos para formar documentos de hipertexto interconectados en la "web" de Gemini, a la que los usuarios se refieren como Geminispace . [1]

Geminiespacio

El término "espacio Gemini" designa el conjunto de recursos públicos que la comunidad Gemini publica en Internet a través del protocolo Gemini. De esta forma, Gemini abarca una red de comunicación alternativa, con documentos de hipertexto, incluidos hipervínculos a otros recursos de fácil acceso para el usuario. [1]

A partir de julio de 2024, [actualizar]Geminispace consta de alrededor de 3900 apariciones de Gemini conocidas en línea ("cápsulas") identificadas mediante el rastreo de más de 600 000 URI. [8]

Software

Amfora - Cliente Géminis
AmiGemini - Cliente Gemini
Los clientes de Gemini incluyen:
NombrePlataformaTipo de clienteLicenciaEscrito en
ÁnforaBSD, Linux, macOS, WindowsTerminal (TUI)Licencia GPL 3.0Ir
Amigo GéminisAmigaOSGUI (Intuición)Instituto Tecnológico de Massachusetts (MIT)C , Intuición
EreandelConcha BourneTerminal (TUI)Instituto Tecnológico de Massachusetts (MIT)Script de shell
Asuka-sanTerminal (TUI)Instituto Tecnológico de Massachusetts (MIT)Óxido , maldiciones
AV-98Terminal (CLI)2 cláusulas BSDPitón
BolluxTerminalInstituto Tecnológico de Massachusetts (MIT)Intento
BombadilloTerminalLicencia GPL 3.0Ir
BuránAndroideAplicación móvilLicencia GPL 3.0Kotlin
CastorInterfaz gráfica de usuario (GTK)Instituto Tecnológico de Massachusetts (MIT)Óxido , GTK
Castor9Plan 9Interfaz gráfica de usuariodo
DeedumAndroid y iOSAplicación móvilLicencia GPL 3.0Aleteo , dardo
DiohscTerminal (CLI)Licencia GPL 3.0Haskell
Dillo-GéminisBSD, Linux, macOSComplemento ( Dillo )FSFAPCaparazón
Elaho (gemini-ios)iOSAplicación móvilMPL 2.0Rápido
ElfoInterfaz gráfica de usuario (Emacs)Licencia GPL 3.0Emacs Lisp
EvaInterfaz gráfica de usuario (GTK)Instituto Tecnológico de Massachusetts (MIT)Óxido , GTK
FafiInterfaz gráfica de usuarioInstituto Tecnológico de Massachusetts (MIT)Raqueta
GemiNautVentanasInterfaz gráfica de usuarioLicencia GPL 3.0C# para Microsoft Windows
geminis.filtro.dpiComplemento ( Dillo )Instituto Tecnológico de Massachusetts (MIT)Ir
GeopardoInterfaz gráfica de usuario (GTK)Licencia GPL 3.0Óxido , GTK
gmniTerminal (CLI)Licencia GPL 3.0do
lugaresLinuxTerminal (CLI)GPL 3.0 o posteriordo
PalanquetamacOSAplicaciónInstituto Tecnológico de Massachusetts (MIT)Rápido
CristalInterfaz gráfica de usuario (Qt)Licencia GPL 2.0C++ , Qt
LagrangeWindows, macOS, Linux, iOSInterfaz gráfica de usuario2 cláusulas BSDC , SDL
Aterrizador lunarLinuxInterfaz gráfica de usuario (GTK)Instituto Tecnológico de Massachusetts (MIT)Óxido , GTK
Fuera de ondaTerminal (CLI)2 cláusulas BSDPitón
CoheteroiOS, macOSAplicaciónRápido
Cuervo rosadoAndroideAplicación móvilInstituto Tecnológico de Massachusetts (MIT)C# , MAUI
SerenaAndroideAplicación móvilKotlin
Estrella de marsistema operativo elemental/LinuxInterfaz gráfica de usuarioLicencia GPL 3.0Vala , GTK
Trapeador de hojalataTerminal (TUI) o GUILicencia GPL 3.0+Ceceo común
TelescopioBSD, Linux, macOSTerminal (TUI)CSIdo
Picos gemelosVentanasInterfaz gráfica de usuarioLicencia GPL 3.0DO#
VIRGIL99TI-99TerminalLenguaje ensamblador

La lista de software de Gemini incluye cliente, servidor, bibliotecas y herramientas. [9] Los servidores proxy
de Gemini a HTTP como Mozz.us pueden ser utilizados por navegadores web que no son compatibles con Gemini. [10]

Recepción

Gemini es elogiado por su simplicidad, pero criticado por "excluir a las personas que utilizan navegadores web comunes". [11] Se ha dicho que la utilidad de Gemini "depende de los tipos de contenido disponibles en Gemini y de si resulta atractivo o no". [5] Stéphane Bortzmeyer ha dicho que Gemini es retro pero con características modernas. [12]

Véase también

Referencias

  1. ^ abc «Preguntas frecuentes sobre el proyecto Gemini». Archivado desde el original el 27 de septiembre de 2023. Consultado el 27 de septiembre de 2023 .
  2. ^ "Página de información de Géminis". Archivado desde el original el 20 de octubre de 2021. Consultado el 20 de octubre de 2021 .
  3. ^ "Grupo de noticias de Usenet de Gemini". Archivado desde el original el 26 de octubre de 2021. Consultado el 26 de octubre de 2021 .
  4. ^ "Especificación especulativa del proyecto Gemini v0.16.1". gemini.circumlunar.space . 2023-03-23. 5 El tipo de medio text/gemini. Los cuerpos de respuesta del tipo "text/gemini" son un tipo de formato de hipertexto liviano, que se inspira en gophermaps y en Markdown.
  5. ^ ab Edge, Jake (10 de febrero de 2021). "Visitando otro mundo". lwn.net . Consultado el 19 de febrero de 2021 .
  6. ^ "Especificación especulativa del proyecto Gemini v0.16.1". gemini.circumlunar.space . 2023-03-23. 1 Descripción general. Las conexiones se cierran al final de una sola transacción y no se pueden reutilizar.
  7. ^ "Especificación especulativa del proyecto Gemini". gemini.circumlunar.space . 2020-11-29. Archivado desde el original el 2021-05-12 . Consultado el 2021-06-25 . 4.2 Validación de certificados de servidor. Los clientes pueden validar las conexiones TLS como quieran (incluso no hacerlo en absoluto), pero el enfoque más recomendado es implementar un sistema de fijación de certificados "TOFU" liviano que trate a los certificados autofirmados como ciudadanos de primera clase.
  8. ^ "Estadísticas sobre el espacio Gemini" Archivado el 11 de febrero de 2021 en Wayback Machine . Proxy gemini://gemini.bortzmeyer.org/software/lupa/stats.gmi
  9. ^ "Software Géminis".
  10. ^ "Acerca de Mozz.us".
  11. ^ Proven, Liam (27 de enero de 2022). "El protocolo web alternativo Gemini, compatible con tostadoras, recibe críticas por convertirse en una camarilla exclusiva". The Register .
  12. ^ "Gemini, un protocolo moderno que parece retro". archive.fosdem.org . Consultado el 30 de octubre de 2022 .
  • Sitio web oficial
  • Preguntas frecuentes sobre el Proyecto Gemini
  • Gopher, Gemini y el auge de la pequeña Internet: Más allá de la Web en Linux Magazine
  • Proxy Gemini a HTTP de Mozz.us
Obtenido de "https://es.wikipedia.org/w/index.php?title=Géminis_(protocolo)&oldid=1248465186"