factograf
RU
Войти

ActivityPub

ActivityPub

Главное

дата возникновения28 января 2016 г.
дата публикации23 января 2018 г.
это частный случай понятияоткрытый стандарт, сетевой протокол, Рекомендации W3C
авторChristine Lemmer-Webber
Все данные карточки 9
Название
ActivityPub
Уровень (по модели OSI)
Прикладной
Семейство
ActivityPump
Создан в
2018
Назначение протокола
децентрализованный обмен данными
Основные реализации (клиенты)
Dokieli, go-fed
Основные реализации (серверы)
Mastodon, Hubzilla, PeerTube
Расширяемость
да
Разработчик
Консорциум Всемирной паутины

ActivityPub — открытый и децентрализованный протокол социальных сетей, основанный на протоколе ActivityPump Pump.io. Предоставляет API для клиента/сервера для создания, обновления и удаления контента, а также объединённый API для доставки уведомлений и контента с одного сервера на другой.

Статус проекта

ActivityPub является стандартом для Интернета в Группе социальных сетей Консорциума Всемирной паутины (W3C). На более раннем этапе протокол назывался «ActivityPump», но считалось, что ActivityPub лучше отражает цель перекрестной публикации протокола. Этому научились из опыта работы со старым стандартом под названием OStatus.

В январе 2018 года Консорциум Всемирной паутины (W3C) опубликовал стандарт ActivityPub в качестве Рекомендации.

Бывший руководитель сообщества Diaspora Шон Тилли написал статью, в которой предложил использовать протоколы ActivityPub в качестве способа объединения интернет-платформ.

Принцип действия

Протокол работает поверх обычного HTTPS. Взаимодействующие пользователи в терминологии activityPub называются «акторами» (англ. actor), а передаваемые друг другу сообщения называются «активностями» (англ. activity). Сервер называют «инстансом» (англ. instance). На каждом сервере по определённому адресу расположен «инбокс» (англ. inbox), в который другие серверы передают свои активности. Активности передаются методом POST, запакованными в JSON и зашифрованными согласно HTTPS.

Активности могут быть типов Like, Follow, Add, Announce и других. Получатель обрабатывает полученное сообщение соответствующим образом (обновляя локальную ленту), либо отправляет в ответ сообщение Reject.

Значимые реализации

Объединённый (сервер-сервер) сервер

Протокол клиент-сервер

Клиентская реализация

Следующие решения являются понятными клиентскими реализациями ActivityPub:

  • dokieli, редактор с клиентской стороны с помощью WebAnnotation и ActivityPub.
  • go-fed, библиотека, реализующая ActivityStreams и ActivityPub на языке Go.

Серверная реализация

Следующие решения являются понятными серверными реализациями ActivityPub:

  • microblog.pub, однопользовательская микроблоговая реализация для базового сервера ActivityPub, находящийся в стадии разработки.
  • distbin, распределённый сервис хранения отрывков текста, реализующий ActivityPub.

Читать дальше

На 21 языках

Текст из Википедии, CC BY-SA 4.0 · Статья-источник