Systems & Backend

REST

also: RESTful API

The dominant style for web APIs: resources at URLs, manipulated with standard HTTP methods, stateless requests.

REST (Representational State Transfer) is an architectural style for web APIs: model your domain as resources each addressable by a URL (/users/42), act on them with standard HTTP methods (GET to read, POST to create, PUT/PATCH to update, DELETE to remove), and keep each request stateless — it carries everything the server needs.

Worked example: GET /orders/17 returns order 17, DELETE /orders/17 removes it, POST /orders creates one — the HTTP method conveys the action and the URL the target, so the API is predictable. Gotcha: REST’s statelessness and use of HTTP verbs enable simple caching and scaling, but fixed endpoints can over- or under-fetch (the problem GraphQL addresses), and “RESTful” is used loosely — many “REST” APIs ignore proper status codes, idempotency, and resource modeling.