ActivityPub conformant Server vs ActivityPub conformant Federated Server

Hi folks, recently I have read the 2.1 Specification Profiles section of ActivityPub, I have a problem with the description of ActivityPub conformant,

It has 3 parts that includes

1. ActivityPub conformant Client

This designation applies to any implementation of the entirety of the client portion of the client to server protocol.

2. ActivityPub conformant Server

This designation applies to any implementation of the entirety of the server portion of the client to server protocol.

3. ActivityPub conformant Federated Server

This designation applies to any implementation of the entirety of the federation protocols.

As my understanding, the first one is the protocol when a client that wants to communicate with the server and the second one is the server to server, but what is the third one?

The number 2 is the server to server as the federated framework connection, or I’m in a wrong way.


For example based on my understanding:

  1. ActivityPub conformant Client
  • Client —> GET —> inbox
  • Client —> POST —> outbox
  1. ActivityPub conformant Server
  • Server → send data To → other server inbox
  1. ActivityPub conformant Federated Server
  • I don’t know

I am sorry for this basic question, I have read many posts in this forum and the other place and did not understand.

If you give me an example, it would be great. :rose:

Thank you in advance.

1 Like

Hi @shahryarjb, I think you’re a little confused, the second conformance profile there is for a server that wants to communicate with a CLIENT. This is explained here: “the server portion of the client to server protocol.” (emphasis mine). The third bullet point is for the server to server protocol.

Regardless, I’m not sure what you’re trying to use any of these conformance profiles for. They’re a part of the specification boilerplate, and they’re useful definitions to have when referring back to them in other parts of the spec, but they’re not something you would necessarily care about when implementing.

2 Likes

Thank you @nightpool, for explaining I am just reading the w3 to understand about activityPub. So based on your comment what is the first one, I mean ActivityPub conformant Client.

Could you mind giving me an example please?! Even an abstraction.

  1. I do not know.
  2. client to server.
  3. server to server.

Thank you very much.

It is like so:

  • ActivityPub Client = implements C2S (POST to outbox)
  • ActivityPub Server = implements C2S (receives and handles POST to outbox)
  • ActivityPub Federated Server = implements S2S (POST to inbox)
2 Likes

Thanks both of you @trwnh and @nightpool for clearing this way :pray:t2: