Nothing. These concepts were developed for the web. Not APIs on the web, but HTTP itself. A vast, global, decentralized network of heterogeneous machines. Fielding's dissertation doesn't argue that REST is good for all protocols and use cases, only ones that share those qualities.
From Fielding's dissertation:
Some architectural styles are often portrayed as “silver bullet” solutions for all forms of software. However, a good designer should select a style that matches the needs of a particular problem being solved.
Also...
REST is designed to be efficient for large-grain hypermedia data transfer, optimizing for the common case of the Web, but resulting in an interface that is not optimal for other forms of architectural interaction
This prescription that every API needs to have these qualities is pure cargo culting.
> These concepts were developed for the web. Not APIs on the web, but HTTP itself.
This assertion is just plain wrong. REST is an architectural principle focused on providing APIs for web services, and Roy Fielding was quite vocal in making it extremely clear that there is nothing in REST that is HTTP-specific, let alone makes it tied to HTTP. REST is an architectural style that relied on the concept of resources, which should be linkable. That's it.
Nothing. These concepts were developed for the web. Not APIs on the web, but HTTP itself. A vast, global, decentralized network of heterogeneous machines. Fielding's dissertation doesn't argue that REST is good for all protocols and use cases, only ones that share those qualities.
From Fielding's dissertation:
Some architectural styles are often portrayed as “silver bullet” solutions for all forms of software. However, a good designer should select a style that matches the needs of a particular problem being solved.
Also...
REST is designed to be efficient for large-grain hypermedia data transfer, optimizing for the common case of the Web, but resulting in an interface that is not optimal for other forms of architectural interaction
This prescription that every API needs to have these qualities is pure cargo culting.