Почему появился и как устроен протокол 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 — проекта, которому «нет дела» до победы над интернетом


    1cloud.ru
    IaaS, VPS, VDS, Частное и публичное облако, SSL

    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое