Близнецы (протокол)
Разработано | Солдерпанк и др. |
---|---|
Представлено | июнь 2019 г. |
Веб-сайт | геминипротокол |
Расширение имени файла |
.gmi, .gmni, .gemini |
---|---|
Тип интернет-СМИ | text/gemini (неофициальный) |
Введите код | ТЕКСТ |
Разработано | Солдерпанк и др. |
Последний выпуск | 0.24.0 31 марта 2024 г |
Тип формата | Язык разметки |
Открытый формат ? | Да |
Веб-сайт | геминипротокол |
Набор интернет-протоколов |
---|
Прикладной уровень |
Транспортный уровень |
Интернет-слой |
Слой связи |
Gemini — это интернет - протокол прикладного уровня для доступа к удаленным документам, аналогичный HTTP (протокол передачи гипертекста) и Gopher . Он поставляется со специальным форматом документа, обычно называемым «gemtext», который позволяет ссылаться на другие документы. Протокол, созданный псевдонимом Солдерпанк, дорабатывается совместно и по состоянию на октябрь 2022 г. [update], не был представлен в организацию IETF для стандартизации .
История
[ редактировать ]Проект Gemini был запущен в июне 2019 года компанией Solderpunk. Дополнительная работа была проделана неофициальным сообществом пользователей. Согласно FAQ Solderpunk, Gemini не призван заменить Gopher или HTTP, а сосуществовать с ними. [1] Большая часть разработки происходила в списке рассылки Gemini, пока в конце 2021 года этот список не исчез из-за аппаратной проблемы. [2] Создание группы Usenet новостей comp.infosystems.gemini в октябре 2021 года стало первой новой группой новостей в иерархии «Большой восьмерки» за восемь лет. [3]
Дизайн
[ редактировать ]Спецификация Gemini определяет как протокол Gemini, так и собственный формат файла для этого протокола, аналогичный HTML для HTTP, известный как «gemtext». Дизайн вдохновлен Gopher , но с такими модернизациями, как обязательное использование Transport Layer Security (TLS) для соединений и формат гипертекста в качестве собственного типа контента. [4]
Дизайн намеренно не легко расширяется, чтобы достичь цели проекта — простоты. [5]
Протокол
[ редактировать ]Gemini разработан в рамках набора интернет-протоколов . Как и HTTP/S, Gemini функционирует как протокол запрос-ответ в вычислительной модели клиент-сервер. Сервер Gemini должен прослушивать TCP-порт 1965. Например, браузер Gemini может быть клиентом , а приложение, работающее на компьютере, на котором размещен сайт Gemini, может быть сервером . Клиент отправляет сообщение запроса Gemini на сервер, а сервер отправляет обратно ответное сообщение. Gemini использует отдельное соединение с одним и тем же сервером для каждого запроса ресурсов. [6]
Gemini требует использования TLS с функциями, связанными с конфиденциальностью, и доверия при первом использовании (TOFU). настоятельно рекомендуется проверка [7]
Ресурсы Gemini идентифицируются и располагаются в сети с помощью унифицированных указателей ресурсов (URL) с использованием схемы URI Gemini:// . Запрос Gemini состоит только из такого URL-адреса, завершающегося CRLF
; заголовок ответа Gemini состоит из двухзначного кода состояния, пробела и «мета-поля», также заканчивающегося CRLF
. Если серверу удалось найти запрошенный файл, поле «мета» представляет собой тип MIME возвращаемого файла, а после заголовка следуют данные файла.
Клиент |
gemini://example.com/ |
Сервер |
20 text/gemini # Example Title Welcome to my Gemini capsule. * Example list item => gemini://link.to/another/resource Link text |
Формат драгоценного текста
[ редактировать ]Формат Gemtext ориентирован на строки, и первые три символа строки определяют ее тип. Синтаксис включает разметку для заголовков, элементов плоского списка, предварительно отформатированного текста, кавычек и строк ссылок. Как и в случае с гипертекстом HTTP, URI кодируются как гиперссылки для формирования взаимосвязанных гипертекстовых документов в «сети» Gemini, которую пользователи называют Geminispace . [1]
Близнецы
[ редактировать ]«Geminispace» обозначает все общедоступные ресурсы, публикуемые в Интернете сообществом Gemini посредством протокола Gemini. Таким образом, Gemini охватывает альтернативную коммуникационную сеть с гипертекстовыми документами, включая гиперссылки на другие ресурсы, легко доступные пользователю. [1]
По состоянию на июль 2024 г. [update] Geminispace состоит из около 3900 известных в Интернете выступлений Gemini («капсул»), идентифицированных путем сканирования более 600 000 URI. [8]
Программное обеспечение
[ редактировать ]

Имя | Платформа | Тип клиента | Лицензия | Написано в |
---|---|---|---|---|
Амфора | БСД, Linux, MacOS, Windows | Терминал (ТУИ) | Лицензионная лицензия 3.0 | Идти |
АмиБлизнецы | АмигаОС | Графический интерфейс (интуиция) | С | С , Интуиция |
Эрандел | Оболочка Борна | Терминал (ТУИ) | С | Сценарий оболочки |
аска | Терминал (ТУИ) | С | Ржавчина , ncurses | |
АВ-98 | Терминал (CLI) | 2 Статья БСД | Питон | |
Боллукс | Терминал | С | Баш | |
Бомбадилло | Терминал | Лицензионная лицензия 3.0 | Идти | |
Буран | Андроид | Мобильное приложение | Лицензионная лицензия 3.0 | Котлин |
Кастор | Графический интерфейс (ГТК) | С | Руст , ГТК | |
Кастор9 | План 9 | графический интерфейс | С | |
Поступок | Андроид и iOS | Мобильное приложение | Лицензионная лицензия 3.0 | Флаттер , Дарт |
Диоск | Терминал (CLI) | Лицензионная лицензия 3.0 | Хаскелл | |
скажи-Близнецы | БСД, Linux, MacOS | Плагины ( Скажи это ) | ФСФАП | Оболочка |
Элахо (gemini-ios) | iOS | Мобильное приложение | МПЛ 2.0 | Быстрый |
Эльфер | Графический интерфейс (Emacs) | Лицензионная лицензия 3.0 | Эмакс Лисп | |
Ева | Графический интерфейс (ГТК) | С | Руст , ГТК | |
Фафи | графический интерфейс | С | Ракетка | |
ГемиНаут | Окна | графический интерфейс | Лицензионная лицензия 3.0 | С# для Microsoft Windows |
Gemini.filter.dpi | Плагины ( Скажи это ) | С | Идти | |
Геопард | Графический интерфейс (ГТК) | Лицензионная лицензия 3.0 | Руст , ГТК | |
как? | Терминал (CLI) | Лицензионная лицензия 3.0 | С | |
gplaces | Линукс | Терминал (CLI) | GPL 3.0 или новее | С |
Джимми | macOS | Приложение | С | Быстрый |
Кристалл | Графический интерфейс (Qt) | Лицензионная лицензия 2.0 | С++ , Qt | |
Лагранж | Windows, macOS, Linux | графический интерфейс | 2 Статья БСД | С , СДЛ |
Лунный житель | Линукс | Графический интерфейс (ГТК) | С | Руст , ГТК |
Оффпанк | Терминал (CLI) | 2 Статья БСД | Питон | |
ракетчик | iOS, МакОС | Приложение | Быстрый | |
Рози Кроу | Андроид | Мобильное приложение | С | С# , ВЛЕВО |
Серена | Андроид | Мобильное приложение | Котлин | |
морская звезда | элементарная ОС/Linux | графический интерфейс | Лицензионная лицензия 3.0 | Vala , GTK |
Тимп | Терминал (TUI) или графический интерфейс | Лицензионная лицензия 3.0+ | Обычный шепелявый | |
Телескоп | БСД, Linux, MacOS | Терминал (ТУИ) | ISC | С |
Твин Пикс | Окна | графический интерфейс | Лицензионная лицензия 3.0 | С# |
ВИРДЖИЛ99 | ТИ-99 | Терминал | Язык ассемблера |
Список программного обеспечения Gemini включает клиент, сервер, библиотеки и инструменты. [9]
Gemini-to-HTTP, Шлюзы прокси-серверов такие как Mozz.us, могут использоваться веб-браузерами, не поддерживающими Gemini. [10]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б с «Часто задаваемые вопросы по проекту Близнецы» . Архивировано из оригинала 27 сентября 2023 года . Проверено 27 сентября 2023 г.
- ^ «Информационная страница Близнецов» . Архивировано из оригинала 20 октября 2021 г. Проверено 20 октября 2021 г.
- ^ «Группа новостей Gemini Usenet» . Архивировано из оригинала 26 октября 2021 г. Проверено 26 октября 2021 г.
- ^ «Спекулятивная спецификация проекта Gemini v0.16.1» . близнецы.окололунное.пространство . 2023-03-23.
5 Тип носителя text/gemini. Тела ответов типа «text/gemini» — это своего рода облегченный формат гипертекста, вдохновленный gophermaps и Markdown.
- ^ Эдж, Джейк (10 февраля 2021 г.). «Посещение другого мира» . lwn.net . Проверено 19 февраля 2021 г.
- ^ «Спекулятивная спецификация проекта Gemini v0.16.1» . близнецы.окололунное.пространство . 2023-03-23.
1 Обзор. Соединения закрываются в конце одной транзакции и не могут быть использованы повторно.
- ^ «Спекулятивная спецификация проекта Близнецы» . близнецы.окололунное.пространство . 2020-11-29. Архивировано из оригинала 12 мая 2021 г. Проверено 25 июня 2021 г.
4.2 Проверка сертификата сервера. Клиенты могут проверять соединения TLS так, как им нравится (в том числе не вообще), но настоятельно рекомендуемый подход — реализовать облегченную систему закрепления сертификатов «TOFU», которая рассматривает самозаверяющие сертификаты как первоклассные граждане.
- ^ «Статистика в пространстве Близнецов». Архивировано 11 февраля 2021 г. в Wayback Machine . Прокси- gemini://gemini.bortzmeyer.org/software/lupa/stats.gmi
- ^ «Программное обеспечение Gemini» .
- ^ «О Mozz.us» .