This is a list of behaviors described by the ActivityPub protocol.

What are protocol behaviors?

The information exchanged between devices through a network or other media is governed by rules and conventions that can be set out in communication protocol specifications. The nature of communication, the actual data exchanged and any state-dependent behaviors, is defined by these specifications. In digital computing systems, the rules can be expressed by algorithms and data structures. Protocols are to communication what algorithms or programming languages are to computations.

"Normative" @ developer.mozilla.org.org

Why?

This list is provided as an informational resource to the social web community of practice.

Each behavior begs questions of:

Normative behaviors

In general, protocol behaviors are optionally-implementable possibilities. Some, though, are presented with normative language.

Normative is a word commonly used in software specifications to denote sections that are standardized and must be followed as a rule.

"Communication Protocol" @ wikipedia.org

The ActivityPub protocol specification's Conformance section explains:

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

"ActivityPub" @ w3.org

Normative language establishes judgeable norms for the behavior of systems implementing the protocol.

Not all normative behaviors are strictly required. However, in order to interoperate without harm, there are some required behaviors. The protocol specification includes Requirements Levels with most behaviors so implementers, testers, and debuggers can prioritize their efforts to interoperate according to the specified protocol. These are indicated using words in all-caps.

The key words MAY, MUST, MUST NOT, SHOULD, and SHOULD NOT are to be interpreted as described in RFC2119.

"ActivityPub" @ w3.org

Requirements

Visit ActivityPub Requirements for an index of only the behaviors required by ActivityPub (excluding recommended or optional behaviors).

Behaviors