技术文章介绍Spartan协议:无需加密的轻量级文档浏览方案
来源标题:A Plug for the Spartan Protocol
Spartan 是一种类似 HTTP 的文档浏览协议,由 Michael Lazar 提出,与 Gemini 同属追求「小型网络」的替代协议。它采用与 Gemini 相同的 Gemtext 文档格式,但最大区别是不加密,因此不适合需要用户认证的场景。该协议定位为简单直接的文档传输,避免商业利用。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
注意 本文讨论的是Spartan——一种类似HTTP、用于浏览文档的互联网协议,而非体育赛事或古希腊文化。
大约五年前,我曾就当时相对较新的Gemini协议发表过看法。最近,我又撰文谈了谈过去五年间发生的变化。在后一篇文章中,我简要提到了最初由Michael Lazar发布的Spartan协议。Gemini、Spartan以及其他类似项目,都旨在打造一个不受商业利用的替代性“小型”网络。
除了HTTP本身(它在小型网络世界中仍占有一席之地)之外,Gemini大概是使用最广泛的替代协议。Gemini强制使用TLS加密,这意味着服务器可以使用客户端证书来验证用户身份。事实上,它们必须这样做:Gemini没有提供其他任何身份验证方式。
Spartan与Gemini类似,并且预期大多数数据传输都将是Gemtext文档——这与Gemini使用的基本文档格式相同。主要区别在于Spartan不加密。这意味着,与Gemini不同,它并不真正适合任何需要验证用户身份的应用场景。不过,对于单纯的文档检索而言,它可能比Gemini更有优势:不加密意味着速度更快,所需资源也更少。
鉴于目前任何小型网络协议上的负载都很低,资源现在不太可能成为问题——除非是在两种情况下,而这两种情况我都支持。
第一,借助合适的适配器,Spartan可以被复古计算爱好者访问。如果你能用串行接口模拟TCP连接——我们有多种方法可以做到——你就可以在8位微型计算机上通过CP/M程序浏览Spartan站点/胶囊。用Gemini则没有现实可行的方法做到这一点,因为TLS是硬性要求。
第二,许多人在一次性硬件上、或在云端廉价的虚拟专用服务器上运行他们的Gemini胶囊。这些服务只有在提供低内存、低存储和低CPU资源时才负担得起。这类环境不仅缺乏运行重型服务器进程的资源,往往也缺乏安装和运行复杂构建工具的资源。
因此,为了在我的VPS上试验Spartan,我自己写了一个Spartan服务器程序。源代码在GitHub上。它用C语言编写,构建时只需要一个C编译器。运行时,它占用的内存应该不会超过约1Mb。在我的实验中,在相同硬件和相同文档的情况下,它比Gemini快得多,原因很简单:没有加密/解密的开销。
我尽量让这个服务器应用程序安全且健壮,但在其他所有方面,它都非常有限。它不适合共享主机,也不适合任何高负载的应用。不过,高负载在短期内不太可能成为问题。
所以现在你可以用Spartan客户端阅读我的随笔了:内容相同,只是协议不同。由于许多支持Gemini的客户端同时也支持Spartan,你可以亲自看看Spartan版本是否更快。
虽然有不少免费的公共Gemini主机,但我不知道有任何公共Spartan主机,无论免费与否。所以我想,目前Spartan只会对运行自己服务器的人有意义。如果你运行自己的服务器,在Gemini之外同时托管Spartan几乎不需要额外的工作,因为它们偏好相同的文档格式:你可以让两个服务器使用同一个文档根目录。
当然,欢迎使用我的Spartan服务器程序,但如果你需要更复杂的功能,也有很多替代方案。
我必须强调,Spartan对于任何需要加密或需要识别用户身份的应用都毫无用处。不过,小型网络并不是“暗网”,需要秘密浏览的内容少之又少。
我不知道Spartan是否会流行起来;它已经存在几年了,采用率并不高。不过,它仍值得考虑。
你是否针对本页发表了回应? 欢迎发送webmention通知我,并附上引用本页的博客或页面的URL。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。