Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(AIP-121): clarify stateless protocol definition #1184

Merged
merged 6 commits into from
Jul 27, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions aip/general/0121.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,12 @@ patterns, such as database transactions, import and export, or data analysis.
### Stateless protocol

As with most public APIs available today, resource-oriented APIs **must**
operate over a stateless protocol: The fundamental behavior of any individual
request is independent of other requests made by the caller.
operate over a [stateless protocol][]: The fundamental behavior of any
individual request is independent of other requests made by the caller.
This is to say, each request happens in isolation of other requests made by that
client or another, and resources exposed by an API are directly addressable
without needing to apply a series of specific requests to "reach" the desired
resource.

In an API with a stateless protocol, the server has the responsibility for
persisting data, which may be shared between multiple clients, while clients
Expand Down Expand Up @@ -127,6 +131,7 @@ and in turn do not increase resource management complexity.

[rest]: https://en.wikipedia.org/wiki/Representational_state_transfer
[rpc]: https://en.wikipedia.org/wiki/Remote_procedure_call
[stateless protocol]: https://en.wikipedia.org/wiki/Stateless_protocol
[get]: ./0131.md
[list]: ./0132.md
[create]: ./0133.md
Expand All @@ -141,6 +146,7 @@ and in turn do not increase resource management complexity.

## Changelog

- **2023-07-23**: Clarify stateless protocol definition.
- **2023-01-21**: Explicitly require matching schema across standard methods.
- **2022-12-19**: Added a section requiring Get and List.
- **2022-11-02**: Added a section restricting resource references.
Expand Down