Representational State Transfer (REST)
Overview
REST is an architectural style for networked systems based on resources, representations, stateless communication, and uniform interfaces.
It matters because it shaped how many web systems and API designs think about resources, URLs, caching, and HTTP semantics.
What REST Emphasizes
REST is commonly associated with:
- resources identified by URLs
- representations transferred between client and server
- stateless request-response interactions
- a uniform interface
- cacheability where appropriate
- layered system design
That makes REST broader than a single endpoint convention or a checklist of HTTP verbs.
REST vs REST API
REST is not exactly the same thing as a REST API.
- REST is the architectural style.
- A REST API is a practical API implementation that claims to follow that style.
Many APIs are described as REST APIs even when they only follow some of the constraints loosely.
Why REST Matters
REST matters because it influenced the default language many teams use when building and documenting web APIs.
It affects how people think about:
- resource modeling
- URL design
- HTTP method semantics
- caching
- decoupling clients from servers
That influence remains strong even when teams later choose other patterns.
REST And HTTP
REST is closely associated with HTTP, but HTTP alone does not automatically make a system RESTful.
REST uses HTTP well when the design actually respects resource orientation, statelessness, and interface consistency.
That distinction matters because transport choice and architectural style are related but not identical.
Practical Caveats
- Not every useful API needs to be RESTful.
- Many real-world APIs trade strict REST constraints for convenience.
- Calling an API “REST” is often less important than keeping the interface consistent and well documented.
- REST is most useful when treated as a design discipline, not just a naming convention.
Frequently Asked Questions
Is REST the same as a REST API?
No. REST is the architectural style. A REST API is an API implementation that follows that style to some degree.
Does REST require HTTP?
REST is usually discussed in HTTP contexts, but the core idea is an architectural style rather than a brand name for HTTP itself.
Is every HTTP API RESTful?
No. Using HTTP does not automatically satisfy REST constraints.
Resources
- Roy Fielding: Architectural Styles and the Design of Network-based Software Architectures
- Roy Fielding: REST Architectural Style