双子座(Gemini)协议:Web 协议最简单的一种替换

2023-11-07 20:40

本文主要是介绍双子座(Gemini)协议:Web 协议最简单的一种替换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我已经开始对现在的 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 中的协程?

技术原创及架构实践文章,欢迎通过公众号菜单「联系我们」进行投稿。

高可用架构

改变互联网的构建方式


长按二维码 关注「高可用架构」公众号

这篇关于双子座(Gemini)协议:Web 协议最简单的一种替换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/366167

相关文章

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

C#实现添加/替换/提取或删除Excel中的图片

《C#实现添加/替换/提取或删除Excel中的图片》在Excel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更加美观,下面我们来看看如何在C#中实现添加/替换/提取或删除E... 在Excandroidel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用PyQt5编写一个简单的取色器

《使用PyQt5编写一个简单的取色器》:本文主要介绍PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16进制颜色编码,一款跟随鼠标刷新图像的RGB和16... 目录取色器1取色器2PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16