ActivityPub
https://gyazo.com/28b76540c1d91aa8dbb74aee0260a0c1
W3
2種類
server to server(federation)
mastdonでいうインスタンス間通信みたいなやつ
client to server
Actor
あるserver上のuserのことをactorという
inboxとoutboxを持つ
serverが違えばactorも変わる
ActivityStream
語彙にActivityStreamsを使用しています。ActivityStreamsには、ソーシャルネットワークを流れるすべてのアクティビティやコンテンツを表現するために必要な一般的な用語がすべて含まれているので、これはとても素晴らしいことです。
この仕様の目標は、アクティビティに関するメタデータを、豊富で人間に優しく、しかし機械処理可能で拡張可能な方法で表現するのに十分な、JSONベースの構文を提供することである。
.
server to server
1 post to 誰かのinbox
client to server
2 get from 自分のinbox
3 post to 自分のoutbox
両方
4 get from 誰かのoutbox
Twitterとかは3と4しかないわけだが、フェデレーションしたいので1と2もあるってわけかsta.icon
もう少しまとめると、
クライアントは自分のinbox or 誰かのoutboxからGETできます
クライアントは自分のoutbotにPOSTできます
サーバーは誰かのinboxにPOSTできます
サーバーは誰かのoutboxからGETできます
さらにまとめると
サーバーは誰かのinboxにPOSTし、誰かのoutboxからGETできる
クライアントは自分のinboxにPOSTし、誰かのoutboxからGETできる
クライアントは自分のoutboxにもPOSTできる
さらにさらにまとめると
自分のinboxにぶっこめるのは、自分本人かサーバーだけ
自分のoutboxは、他人からもサーバーからも自由にGETされる
自分(クライアント)が行えるのは、
1 自分のinboxの処理
2 自分のoutboxの処理
3 他人のoutboxからGET
サーバーが行えるのは、
1 人のinboxへのぶっこみ
2 人のoutboxからGET
さらにさらにさらにまとめると
inboxには、サーバーがぶっこんでくることがある
outboxは、ぶっこめるのは自分だけだが、誰かに見られる可能性が常にある
actor to actor
https://gyazo.com/0c7656f4d8aa05f2b50c8d6aa0e24de7
1 https://gyazo.com/e591bc95d126140187b3f11f6bf9f60f
2 https://gyazo.com/ec2374cc01f6017a02f340dfd8a9207c