/rɛst/

n. “Architect it once, call it anywhere.”

REST, short for Representational State Transfer, is an architectural style for designing networked applications. It emphasizes a stateless client-server communication model where resources are identified by URIs, and interactions are carried out using standard HTTP methods like GET, POST, PUT, PATCH, and DELETE.

In a RESTful system, each resource can be represented in multiple formats such as JSON, XML, or HTML. The server provides the representation, and the client manipulates it using HTTP verbs. REST is stateless: every request contains all information necessary for the server to process it, which improves scalability and simplifies reliability across distributed systems.

For example, a REST API might expose a resource at /users/123. A GET request retrieves the user, a PUT request updates the user, a PATCH request partially modifies the user, and a DELETE request removes the user.

REST is not a protocol or standard — it is a style of designing services. Constraints like uniform interfaces, stateless interactions, cacheable responses, layered system architecture, and code-on-demand (optional) guide developers to build simple, scalable, and flexible APIs. Adhering to these principles makes applications easier to maintain and allows clients written in different languages or platforms to interact seamlessly.

REST powers much of the modern web. Social media platforms, SaaS applications, cloud services like IaaS, PaaS, and microservices architectures often expose RESTful APIs. Its design encourages clear separation of concerns: the server manages resources, while the client handles presentation and state transitions.

Consider a developer building a dashboard that aggregates user data from multiple services. By leveraging REST APIs, they can fetch JSON representations from different servers, combine the data, and display a unified interface — all without needing specialized protocols or complex bindings.

While REST is widely used, alternatives like GraphQL or gRPC exist, offering different trade-offs in flexibility and efficiency. Nevertheless, REST remains a cornerstone of web architecture, emphasizing simplicity, statelessness, and universal compatibility through standardized HTTP mechanisms.