4

什么是Gemini协议?

 2 years ago
source link: https://www.jdon.com/57676
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
什么是Gemini协议?

Gemini是一种(仅)用于访问远程文档的应用层互联网通信协议,虽然类似于 gopher 或 HTTP,但是它旨在作为这些协议的第三种替代方案,可以看成是HTML的极简子集。

网址格式:gemini://gemini.circumlunar.space/docs/specification.gmi

特点:它带有一种特殊的文档格式,通常称为“gemtext”,允许链接到其他文档。

该协议由一个被称为 Solderpunk 的人发起,现在正在协作完成,目前尚未提交给IETF进行标准化。

Gemini 是一种客户端-服务器协议,具有请求-响应事务,Gemini连接在单个事务结束时关闭,无法重用。

当Gemini通过 TCP/IP 提供服务时,服务器侦听端口 1965。

Gemini 事务大致相当于 gopher 请求或 HTTP“GET”请求。

事务发生如下,C代表客户端,S代表服务器:

  • C:打开连接
  • S:接受连接
  • C/S:完成 TLS 握手
  • C:验证服务器证书
  • C:发送请求(一个 CRLF 终止行)
  • S :发送响应头(一个 CRLF 终止行),在不成功的情况下关闭连接
  • S:发送响应正文(文本或二进制数据)
  • S:关闭连接
  • C:处理响应

Gemini 强制要求使用具有隐私相关功能的 TLS,并强烈建议首次使用信任(TOFU) 验证。

Lagrange:Gemini 的桌面 GUI 客户端github.com/skyjake

是目前最好的 Gemini 客户端。它在几分之一秒内启动,可以获得 Gemini 提供的简洁、干净的页面,无需扩展程序和广告拦截器、javascript 或基于框架的精美页面。专注于让普通的 unicode 文本看起来很漂亮。

为什么还需要Gemini?

因为他们玩得很开心,这就足够了。

Gemini 是协议,Gemtext 是文档类型之一。请注意,您可以通过 Gemini 传输 HTML 文档,并且许多客户端渲染的不仅仅是 Gemtext。

Gemtext 很容易解析,因为解析器只需读取一行的第一个字符即可了解一行的语义。

这种面向行的创新还改进了文档的结构,因为使用具有自己行的链接可以轻松导航。

是一种增强版的 Gopher。

可以看成是一种仅仅基于文本的网络浏览器,但是不止这些。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK