mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-12-18 16:31:06 +00:00
74 lines
2.9 KiB
Markdown
74 lines
2.9 KiB
Markdown
|
# 术语表
|
|||
|
|
|||
|
本文档描述了有关联合的一些常用术语。
|
|||
|
|
|||
|
## `ActivityPub`
|
|||
|
|
|||
|
一种基于 ActivityStreams 数据格式的去中心化社交网络协议。参见 [这里](https://www.w3.org/TR/activitypub/)。
|
|||
|
|
|||
|
GoToSocial 在 与其它 GtS 服务器和其它联邦宇宙服务器(如 Mastodon, Pixelfed 等)通信时使用 ActivityPub 协议。
|
|||
|
|
|||
|
## `ActivityStreams`
|
|||
|
|
|||
|
使用 JSON 表示潜在活动和已完成活动的模型/数据格式。参见 [这里](https://www.w3.org/TR/activitystreams-core/)。
|
|||
|
|
|||
|
GoToSocial 使用 ActivityStreams 数据模型与其他服务器进行 ActivityPub 通信。
|
|||
|
|
|||
|
## `Actor` (行为体)
|
|||
|
|
|||
|
Actor 是一个可以执行某些活动(例如关注、点赞、创建贴文、转发等)的 ActivityStreams 对象。参见 [这里](https://www.w3.org/TR/activitypub/#actors)。
|
|||
|
|
|||
|
在 GoToSocial 中,每个账号/用户都是一个 actor。
|
|||
|
|
|||
|
## `Dereference` (解引用)
|
|||
|
|
|||
|
“解引用”一个贴文或账户意味着向托管该贴文或账户的服务器发出 HTTP 请求,以获取其 ActivityStreams 表示。
|
|||
|
|
|||
|
GoToSocial 对外站服务器解引用贴文和账户,以将它们转换为 GoToSocial 可以理解和处理的模型。
|
|||
|
|
|||
|
以下是一些示例的详细说明:
|
|||
|
|
|||
|
假设有人在 ActivityPub 服务器上搜索用户名 `@tobi@goblin.technology`。
|
|||
|
|
|||
|
他们的服务器会在 `goblin.technology` 上通过以下 URL 进行 webfinger 查询:
|
|||
|
|
|||
|
```text
|
|||
|
https://goblin.technology/.well-known/webfinger?resource=acct:tobi@goblin.technology
|
|||
|
```
|
|||
|
|
|||
|
`goblin.technology` 服务器会返回一些 JSON 作为响应,类似于:
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"subject": "acct:tobi@goblin.technology",
|
|||
|
"aliases": [
|
|||
|
"https://goblin.technology/users/tobi",
|
|||
|
"https://goblin.technology/@tobi"
|
|||
|
],
|
|||
|
"links": [
|
|||
|
{
|
|||
|
"rel": "http://webfinger.net/rel/profile-page",
|
|||
|
"type": "text/html",
|
|||
|
"href": "https://goblin.technology/@tobi"
|
|||
|
},
|
|||
|
{
|
|||
|
"rel": "self",
|
|||
|
"type": "application/activity+json",
|
|||
|
"href": "https://goblin.technology/users/tobi"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
在链接部分,请求服务器会寻找类型为 `application/activity+json` 的链接,这表示用户的 ActivityStreams 表示。在此情况下,URL 是:
|
|||
|
|
|||
|
```text
|
|||
|
https://goblin.technology/users/tobi
|
|||
|
```
|
|||
|
|
|||
|
上述 URL 是 `tobi` 在 `goblin.technology` 实例上的 用户/行为体 的 activitypub 表示的*引用*。它之所以被称为引用,是因为它不包含关于该用户的所有信息,只是信息所在位置的参考点。
|
|||
|
|
|||
|
现在,请求服务器将向该 URL 发送请求,以获得 `@tobi@goblin.technology` 的更完整表示,以符合 ActivityPub 规范。换句话说,服务器现在通过一个*引用*来获取它所引用的内容。这使得它*不再是一个引用*,因此称为*解引用*。
|
|||
|
|
|||
|
作为类比,考虑在书的目录中查找某些内容时的情况:首先你获得你感兴趣的材料所在的页码,这是一个引用。然后你翻到引用的页面查看内容,这就是解引用。
|