我已经开始对现在的 Web 非常反感了,它在各个层面上都是臃肿的。网站的规模正在以惊人的速度翻倍,Web 标准也在以惊人的速度扩张。试图从头开始建立一个能与现代网络兼容的 Web 浏览器,需要的人力相当于雪山工程(Snowy Mountains Scheme )或曼哈顿计划(没有夸张)。
Web 的现状让我只能得出一个结论,它已经糟糕到无法修复的地步。
我不认为 Web 可以被简单取代,但我们仍然可以寻找更简单开放标准的替代品来转移我们的作品,双子座(Gemini)是我感兴趣的替代品之一。Gemini 是一个相当新的协议,创建于 2019 年,它定义了一个受 markdown 启发的文件格式,并使用自己的协议来服务这些文件,也支持其他格式的文件。
如果你只想寻找早期 Web 世界的 1:1 克隆,你可能会失望。Gemini 从 Gopher 中得到的设计启发要比从 Web 中得到的要多得多。Gopher(被广泛认为是 Web 的前身)是建立在纯文本文档的基础上的。Gemini 通过提供基本的格式化和修复原始 Gopher 协议中没有考虑到的缺点来扩展这个想法。
Gemini 避开了 Web 中大量的标准功能,虽然可能有很多习惯于 Web 的人无法识别的好处。例如,缺乏样式表可能意味着 Gemini 网站看起来很普通,然而这允许您的读者决定最适合他们的颜色方案。夜间阅读者会喜欢深色主题,有视力障碍的人会喜欢高对比度,等等。
Gemini 不提供在线图片支持,也不提供客户端脚本(如 JavaScript)。但服务器端脚本(CGI)可以工作,所以你可以期待 Gemini 成为一些在线服务的有效接口。
Gemini 协议不适合传输大文件,因为它没有 FTP 或 HTTP 协议中用于不稳定网络的断点续传等类似特性。
旧的互联网协议默认是不加密的,因为在 80 年代末 90 年代初,安全并不被视为一个重要的问题。值得庆幸的是,Gemini 作为一个全新的协议,强制使用 TLS,目前还没有未加密的 Gemini 版本。
我完全可以把 Gemini 视为一种 Web 替代方案,特别是对于那些使用文本作为主要媒介的非商业人士。博客、诗歌、食谱、教程都是 Gemini 格式的完美选择。并且总有方法解决多媒体功能的不足,因为虽然 Gemini 缺乏内嵌图片,但你仍然可以使用内嵌链接到图片。随着时间的推移,我可以想象一些 Gemini 浏览器提供一个花哨的图像查看器,用于显示链接包含的图像。
现在,Gemini 能提供什么?最好的方法是前往 Gemini 浏览器中的官方网站:gemini.circumlunar.space。在这里,你可以找到两个搜索引擎,专门根据你搜索的内容找到网页。还有两个聚合器,作为 Gemini 帖子的新闻源。
就我个人而言,我很喜欢滚动浏览聚合器,看看人们在博客上写些什么,我经常能找到有趣的东西。
从服务器管理的角度来看,Gemini 只是一个瘦身的 Web。你购买一个域名(使用网络),获得或租用一个服务器,安装一个 Gemini 服务器,然后开始为你的网站服务。为了发布内容到 Gemini 上,你需要自行托管,或者利用目前由 circlunar.space 提供的 Gemini 托管。这里没有花哨的 P2P 或区块链解决方案,只是一个良好的传统的客户/服务器模式。
我无疑会关注 Gemini,我的博客文章已经是 markdown 格式的,所以将其提供给 Gemini 应该很容易,当然还并非完全确定。
我分享下面这句话,还有我发现的一些有趣的链接给读者。
当我在脑海中,早期的 Web 更像是一个图书馆,但随着时间的推移,它已经转型为一个购物中心。
chris_f,HackerNews 评论
相关资源
- (www) Project Gemini - The official website for the Gemini project. FAQ is recommended reading. (hn thread) https://gemini.circumlunar.space/
- (gmi) Project Gemini - The defacto Gemini main page. gemini://gemini.circumlunar.space/
- (gmi) Gemini software - The official page on Gemini lists out some clients and servers. gemini://gemini.circumlunar.space/software/
- (gmi) List of services with a gemini mirror - Includes Wikipedia, YouTube and Lobste.rs. gemini://gempaper.strangled.net/mirrorlist/
英文原文:
https://toffelblog.xyz/blog/gemini-overview/
参考阅读:
- 十年以上程序员才懂的一些 coding 心得
- 一次K8S容器内存占用居高不下的排查案例
- 类型化消息的一种设计模式
- Go 新版泛型使用:80余行代码构建一个哈希表
- 哔哩哔哩「会员购」在流量回放上的探索
- 为什么我放弃使用 Kotlin 中的协程?
技术原创及架构实践文章,欢迎通过公众号菜单「联系我们」进行投稿。