Loading
A set of rules for how programs talk to each other over the web using standard web addresses and actions like GET and POST — like a menu that tells customers how to order from a restaurant.
An architectural style for designing networked APIs around resources identified by URLs, manipulated through standard HTTP methods (GET, POST, PUT, DELETE), and represented in formats like JSON. REST emphasizes statelessness, uniform interface, and cacheability.
REST (Fielding, 2000) defines six constraints: client-server, stateless, cacheable, uniform interface (resource identification, manipulation through representations, self-descriptive messages, HATEOAS), layered system, and optional code-on-demand. In practice, most 'REST' APIs implement levels 1-2 of the Richardson Maturity Model (resources + HTTP verbs) without HATEOAS. Content negotiation (Accept headers), idempotency guarantees (PUT/DELETE), and proper status code usage (201 Created, 204 No Content, 409 Conflict) distinguish well-designed APIs.