Разработано | Solderpunk |
---|---|
Введено | Июнь 2019 ( 2019-06) |
Веб-сайт | gemini.circumlunar.space |
Расширение имени файла | . gmi |
---|---|
Тип интернет-СМИ | text/gemini (неофициальный) |
Типовой код | ТЕКСТ |
Разработано | Solderpunk |
Последний релиз | 0.14.3 (29 ноября 2020 г. ; 10 месяцев назад) ( 2020-11-29) |
Тип формата | Язык разметки |
Открытый формат ? | да |
Веб-сайт | gemini.circumlunar.space |
Набор интернет-протоколов |
---|
Уровень приложения |
Транспортный уровень |
|
Интернет-уровень |
Связующий слой |
|
|
Gemini - это протокол интернет-связи прикладного уровня для доступа к удаленным документам, аналогичный протоколу передачи гипертекста и Gopher. Он задуман как третья альтернатива этим протоколам. Он поставляется со специальным форматом документа, обычно называемым «гемтекст», который позволяет ссылаться на другие документы. Созданный кем-то известным как Solderpunk, протокол сейчас совместно дорабатывается и в настоящее время не представлен в IETF для стандартизации.
Спецификация Gemini определяет как протокол Gemini, так и собственный формат файла для этого протокола (аналог HTML для HTTP или открытый текст для Gopher), известный как «gemtext». Дизайн вдохновлен Gopher, с некоторыми современными дополнениями, такими как обязательное использование Transport Layer Security (TLS) для соединений и гипертекстовый формат в качестве собственного типа контента.
Дизайн намеренно не легко расширяется, чтобы сохранить одну из заявленных целей проекта - простоту.
Gemini разработан в рамках пакета Интернет-протоколов. Подобно HTTP (S), Gemini функционирует как протокол запроса-ответа в вычислительной модели клиент-сервер. Например, браузер Gemini (аналог веб-браузера ) может быть клиентом, а приложение, запущенное на компьютере, на котором размещен сайт Gemini, может быть сервером. Клиент отправляет на сервер сообщение с запросом Gemini, а сервер отправляет ответное сообщение. Gemini использует отдельное соединение с одним и тем же сервером для каждого запроса ресурса.
Gemini требует использования TLS с функциями, связанными с конфиденциальностью, и настоятельно рекомендуется проверка доверия при первом использовании (TOFU).
Ресурсы Gemini идентифицируются и размещаются в сети с помощью унифицированных указателей ресурсов (URL) с использованием схемы URI gemini: //. Запрос Близнецов состоит только из такого URL, завершенного CRLF
; Заголовок ответа Gemini состоит из двузначного кода состояния, пробела и поля «мета», которое также заканчивается символом CRLF
. Если серверу удается найти запрошенный файл, поле «мета» представляет собой MIME-тип возвращенного файла, а после заголовка следуют данные файла.
Клиент | gemini://example.com/ |
Сервер | 20 text/gemini # Example Title Welcome to my Gemini capsule. * Example list item =gt; gemini://link.to/another/resource Link text |
Текст в формате гемтекста ориентирован на строки, что упрощает визуализацию; он предлагает конструкции для заголовков (три уровня), элементов плоского списка, предварительно отформатированного текста и строк ссылок - без встроенного выделения. Как и в случае с гипертекстом HTTP, URI кодируются в виде гиперссылок в гемтекстовых документах, чтобы сформировать взаимосвязанные гипертекстовые документы в «сети» Gemini, которую пользователи называют Geminispace.
«Geminispace» обозначает все общедоступные ресурсы, которые публикуются в Интернете сообществом Gemini по протоколу Gemini. Таким образом, Gemini охватывает альтернативную коммуникационную сеть с гипертекстовыми документами, которые включают гиперссылки на другие ресурсы, к которым пользователь может легко получить доступ.
По состоянию на сентябрь 2021 года Geminispace состоит из около 1200 известных онлайн-появлений Близнецов («капсул»), определенных путем сканирования более 270 000 URI.
Проект Gemini был запущен в июне 2019 года компанией Solderpunk. Дополнительная работа была проделана неформальным сообществом пользователей. Согласно часто задаваемым вопросам Solderpunk, Gemini не предназначен для замены Gopher или HTTP, а должен сосуществовать с ними. Предлагается создать группу новостей Usenet comp.infosystems.gemini для обсуждения Gemini.
Из-за простоты протокола и типа обслуживаемого носителя были реализованы различные браузеры Gemini. Следующий неполный список клиентов подчеркивает их разнообразие. Дополнительные списки доступны в Интернете.
Клиенты командной строки довольно популярны из-за того, что простую разметку Gemini легко отображать только в текстовом формате, тогда как они могут быть весьма ограниченными для веб-контента.
Имя | Платформа | Технология |
---|---|---|
Амфора | Терминал (TUI) | Идти |
AmiGemini | GUI (интуиция) | C, интуиция |
Ариана | Приложение (Android) | Котлин |
аска | Терминал (TUI) | Ржавчина, ncurses |
AV-98 | Терминал (CLI) | Python |
Bollux | Терминал | Баш |
Bombadillo | Терминал | Идти |
Кастор | Графический интерфейс (GTK) | Ржавчина, GTK |
Касторовое9 | GUI (план 9) | C |
Deedum | Приложение (Android и iOS) | Флаттер, Дротик |
Элахо (Близнецы) | Приложение (iOS) | Быстрый |
Эльфер | Графический интерфейс (Emacs) | Emacs |
Фафи | GUI | Ракетка |
GemiNaut | GUI (Windows) | C # для Microsoft Windows |
GMNI | Терминал (CLI) | C |
Кристалл | Графический интерфейс (Qt) | C ++, Qt |
Лагранж | GUI | C, SDL |
Лунный житель | Графический интерфейс (GTK) | Ржавчина, GTK |
Ракетчик | Приложение (iOS, MacOS) | Быстрый |
В качестве альтернативы собственным клиентам Gemini шлюзы Gemini-to-HTTP могут использоваться с обычными веб-браузерами, не поддерживающими протокол Gemini. Известными такими прокси-серверами являются портал Mozz.us, Vulpes Proxy и ondollo.
Существуют различные серверные реализации; их списки ведутся онлайн.