NEW
Also known as: Representational State Transfer, RESTful API
An architectural style defining constraints for stateless, resource‐oriented web APIs using a uniform interface over HTTP.
DESCRIPTION
REST is a web architectural style introduced by Roy Fielding that organizes interactions around resources and representations. It emphasizes constraints such as client–server separation, statelessness, cacheability, layered systems, and a uniform interface. Commonly implemented over HTTP, RESTful APIs use standard methods like GET, POST, PUT, and DELETE with resource URIs. REST promotes scalability, evolvability, and simplicity across distributed systems. It remains a dominant pattern for microservices and public APIs, often documented via OpenAPI. Hypermedia (HATEOAS) is a distinguishing constraint rarely enforced strictly in practice.
ALTERNATIVE DEFINITIONS
Wikipedia
Representational state transfer (REST) is a software architectural style that describes a set of constraints to be used for creating Web services.
Highlights REST as a set of constraints rather than a protocol or standard.
Red Hat
A REST API (also known as RESTful API) is an application programming interface that adheres to the REST architectural style and allows for interaction with RESTful web services.
Frames REST in the context of APIs and practical web service interaction.
Microsoft Learn
REST is an architectural style for building distributed systems and uses HTTP to expose and consume resources using a uniform interface.
Emphasizes uniform interface and resource orientation within API design guidance.
RELATED TERMS
Hypertext Transfer Protocol OpenAPI JSON Hypermedia as the Engine of Application State CRUD API Gateway Idempotency
COMPETING TERMS
RELATIONS
- Narrower: Encryption at Rest
KNOWLEDGE AREAS
Software Engineering Data Integration & Interoperability Platform & Tooling
TARGET AUDIENCE
Software Developer Data Engineer DevOps Engineer Cloud Architect Data Architect AI Engineer
EXTERNAL SOURCES
- Wikipedia - Representational state transfer
- Roy Fielding Dissertation - Original REST architectural style exposition
- OpenAPI Initiative - OpenAPI specification for RESTful APIs
- MDN Web Docs - Developer glossary entry on REST
TOP QUESTIONS
What makes REST (Representational State Transfer) different from a protocol like HTTP?
REST is an architectural style specifying constraints for networked systems, while HTTP is a protocol. REST often uses HTTP, but it is not synonymous with it.
Category: Misunderstanding
Why is REST still relevant for API design?
REST’s uniform interface and statelessness simplify scalability and caching. Its ubiquity, tooling, and compatibility with web infrastructure keep it highly practical.
Category: Relevancy
What are the core constraints of REST (Representational State Transfer)?
Client–server, stateless, cacheable, layered system, uniform interface, and optionally code-on-demand. These constraints collectively enhance scalability and evolvability.
Category: Definition
How do you design idempotent operations in REST?
Use methods like PUT and DELETE for idempotent actions, ensuring repeated requests produce the same outcome without side effects beyond the first application.
Category: Implementation
What is a common mistake when implementing REST APIs?
Treating REST like RPC over HTTP with action-oriented endpoints instead of resource-oriented URLs and proper use of HTTP methods and status codes.
Category: Mistakes
What are the risks of poorly designed REST APIs?
Inconsistent semantics, lack of pagination, and missing caching lead to performance issues and brittleness. Security misconfigurations risk data exposure.
Category: Risks
What alternatives compete with REST (Representational State Transfer)?
gRPC provides contract-first, binary, low-latency communication; GraphQL offers client-directed queries; SOAP provides rigid contracts and WS-* features.
Category: Alternatives
How does HATEOAS relate to REST?
HATEOAS is a REST constraint where hypermedia drives application state. It enhances discoverability but is often omitted for simplicity.
Category: Definition
Where should I start learning about REST best practices?
Begin with Fielding’s dissertation, MDN and Microsoft API design guides, and study well-documented APIs using OpenAPI for concrete examples.
Category: Learning