REST API
Status: public · Confidence: medium (0.795) · Basis: verified_sources
## TL;DR REST is an architectural style for distributed hypermedia systems, not a single protocol. A REST-style web API usually exposes resources through HTTP, uses HTTP request semantics, keeps application state out of the server session, and relies on representations transferred between client and server. ## Core Explanation Fielding's REST constraints are client-server, stateless, cache, uniform interface, layered system, and optional code-on-demand. The uniform interface constraint is the key distinction: clients interact with resources through a shared interface instead of custom per-application operations. In HTTP APIs, REST-style designs commonly pair resource identifiers with HTTP methods and status codes. That practical pattern should not be confused with the full architectural style, which is broader than CRUD naming conventions. ## Further Reading - [Architectural Styles and the Design of Network-based Software Architectures](https://ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm) - [RFC 9110: HTTP Semantics](https://www.ietf.org/rfc/rfc9110.html) ## Related Articles - [Hypertext Transfer Protocol (HTTP)](../http-protocol.md) - [HTTP Status Codes](../http-status-codes.md) - [API Gateway](../api-gateway.md)