ActivityPubとは、ActivityStreams 2.0データフォーマットに基づいた非中央集権型ソーシャルネットワーク用のプロトコルである。
早い話がMastodonやMisskeyなんかでサーバ間が通信したりするのに使うためのプロトコルと思ってもらえばOKである。
まずActivityStreamsはJSON-LDと呼ばれるフォーマットをベースに構築されている。簡単に言えば、特定の文法に基づいて各種オブジェクトを定義する。ActivityStreamsにおける@contextは「https://www.w3.org/ns/activitystreams」である。
ActivityStreamsにおいては、まず基本となる以下の8つの型が存在する。
そして、「誰が」「何を」「どうした」というActivityや、「誰」を示すActor、「何」を示すObject・Linkを記述するための語彙がActivity Vocabularyである。
ActivityPubでは、ユーザには受信箱(inbox)と送信箱(outbox)の2つがある。inboxに外からPOSTすると、ユーザはinboxからGETできる。ユーザがoutboxにPOSTすると、外からGETできる。
そして、サーバの役割は、誰かのoutboxにPOSTされたものを、誰かのinboxにPOSTするという役割もある。
Actorにおいては、以下のうちidとinboxとoutboxは必ず持たなければならず、それ以外のものは任意で持つことができる(followingとfollowersは持つべきとされている)。
あとは、当然だがActorはObjectを継承しているので、Objectが持っているフィールドは持つことが可能。
ActivityPubにはクライアント・サーバ間通信とサーバ間通信の2つがあるが、実際のところ、ほぼ用いられているのはサーバ間通信である(クライアント・サーバ間通信はそれぞれのソフトウェアが自前で実装するから、ActivityPubに従う必然性がない)。
例えば、AさんがAさんのフォロワーリストを宛先としてoutboxにPOSTした場合、そのフォロワーのinboxに対してサーバはPOSTする必要がある。リモートフォローはこの仕組みがあるから成り立つ、というわけだ。
掲示板
掲示板に書き込みがありません。
急上昇ワード改
最終更新:2025/12/25(木) 00:00
最終更新:2025/12/25(木) 00:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。