Почему появился и как устроен протокол Gemini

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Рассказываем, как этот клиент-серверный протокол связан с Gopher, и где с ним поработать.


Фото — ZU photography — Unsplash

Что это за протокол


Gemini — это клиент-серверный протокол для передачи файлов, ориентированный на скорость. В каком-то смысле он является заменой WWW. Его автор — инженер, скрывающийся под ником Solderpunk. Но в разработке протокола активно участвовало ИТ-сообщество — например, свой вклад внес создатель открытого вики-движка Oddmuse Алекс Шрёдер (Alex Schroeder).

Как он устроен


Реализация Gemini напоминает Gopher. Это — протокол, который был популярен в начале 1990-х и служил своеобразной заменой FTP. На его основе была построена система распространения информации из группы связанных гиперссылками меню — с директориями, файлами и ссылками на другие страницы. Сами страницы были без оформления и скриптов.

Аналогичным образом дела обстоят в Gemini — ответ протокола содержит только текст или бинарные данные. Он не поддерживает сжатие, разбиение сообщений и методы сетевого кодирования. Сервер разрывает соединение сразу после передачи последнего байта и не отправляет сообщение end of response. Gemini требует, чтобы все транзакции производились с использованием TLS 1.2 или выше.

Протокол работает по TCP/IP с портом 1965 и имеет одноименный идентификатор ресурса (URI). Его синтаксис прописан в RFC 3986. URL закодирован UTF-8 и имеет максимальную длину в 1024 байта.

Что думают о протоколе


В треде на Hacker News высказали мнение, что новый протокол может стать альтернативой WWW — по крайней мере, для хостинга личных сайтов и блогов. Немаловажную роль в этом может сыграть понятная спецификация, в которой относительно легко разобраться.


Фото — Sourabh Gijare — Unsplash

Встретилось и альтернативное мнение. Gemini представляет собой переосмысление протокола Gopher, которому около 30 лет. Возврат к истокам интернета для некоторых выглядит как шаг назад в технологическом плане. Хотя многие проблемы Gopher разработчикам Gemini удалось разрешить — например, они добавили редиректы, если контент по ссылке был перемещен, и поддержку MIME-типов.

Кто реализует на практике


Gemini использует несколько сайтов — например, Gemini_Wiki с описанием возможностей протокола, разработанный уже упомянутым Алексом Шрёдером. Хотя сайт может отображаться и с использованием привычных HTTP и HTML.

Также есть специальный браузер Castor, написанный на Rust. Он поддерживает работу с протоколами Gemini и Gopher — его выложили на платформе совместной разработки SourceHut. К слову, одним из последних браузеров, поддерживающих Gopher, был Firefox, но эту функцию убрали в 2010 году. Теперь отдельные энтузиасты постепенно возвращают утерянную функциональность.



Короткое пятничное видео:




Больше материалов в корпоративном блоге:

История системы доменных имен: «войны» протоколов
Потенциальные атаки на HTTPS и как от них защититься
Участие в open source проектах может быть выгодным для компаний — почему и что это дает
Краткая история Fidonet — проекта, которому «нет дела» до победы над интернетом


Источник: https://habr.com/ru/company/1cloud/blog/511484/


Интересные статьи

Интересные статьи

Сложно себе представить новогодний интерьер или даже экстерьер без главного атрибута зимнего праздника — новогодней елки. Будучи вечнозелеными, хвойные деревья стали символом жизни, ч...
Есть несколько способов добавить водяной знак в Битрикс. Рассмотрим два способа.
Если вы отправляли письмо из Москвы в Москву, то могли обратить внимание, что оно сделало непонятный крюк. К примеру, письмо из Алтуфьево в Ясенево может проехать через подмосковный Н...
В столице Нидерландов и в радиусе 50 км расположено 70% всех дата-центров страны и третья часть всех дата-центров Европы. Большинство из них открылись буквально за последние лет пять. Это действи...
Хотя, безусловно, этот язык программирования будет востребован ещё много лет. Сообществу программистов понадобились десятилетия, чтобы по достоинству оценить Python. С начала 2010-х годов ...