@@ -97,8 +97,12 @@ patterns, such as database transactions, import and export, or data analysis.
9797### Stateless protocol
9898
9999As with most public APIs available today, resource-oriented APIs ** must**
100- operate over a stateless protocol: The fundamental behavior of any individual
101- request is independent of other requests made by the caller.
100+ operate over a [ stateless protocol] [ ] : The fundamental behavior of any
101+ individual request is independent of other requests made by the caller.
102+ This is to say, each request happens in isolation of other requests made by that
103+ client or another, and resources exposed by an API are directly addressable
104+ without needing to apply a series of specific requests to "reach" the desired
105+ resource.
102106
103107In an API with a stateless protocol, the server has the responsibility for
104108persisting data, which may be shared between multiple clients, while clients
@@ -127,6 +131,7 @@ and in turn do not increase resource management complexity.
127131
128132[ rest ] : https://en.wikipedia.org/wiki/Representational_state_transfer
129133[ rpc ] : https://en.wikipedia.org/wiki/Remote_procedure_call
134+ [ stateless protocol ] : https://en.wikipedia.org/wiki/Stateless_protocol
130135[ get ] : ./0131.md
131136[ list ] : ./0132.md
132137[ create ] : ./0133.md
@@ -141,6 +146,7 @@ and in turn do not increase resource management complexity.
141146
142147## Changelog
143148
149+ - ** 2023-07-23** : Clarify stateless protocol definition.
144150- ** 2023-01-21** : Explicitly require matching schema across standard methods.
145151- ** 2022-12-19** : Added a section requiring Get and List.
146152- ** 2022-11-02** : Added a section restricting resource references.
0 commit comments