Lesson 1 / 24

What is REST?

The architectural style behind most web APIs, and the ideas that define it.

REpresentational State Transfer

REST isn't a protocol or a spec — it's an architectural style for building networked APIs, usually over HTTP. A server exposes resources (users, orders, products), and clients manipulate them through a small, uniform set of operations.

The guiding principles

Client-server: UI and storage evolve separately. Stateless: every request carries all context it needs. Cacheable: responses declare if they can be cached. Uniform interface: resources are addressed and manipulated in a consistent way. Layered system: clients can't tell if they're talking to the origin or a proxy.

A restaurant menu

Think of resources as menu items and HTTP methods as ways you can act on them: you order (POST) a new dish, view (GET) what you ordered, modify (PUT/PATCH) the order, or cancel (DELETE) it. The menu (URIs) stays the same; what changes is the verb you use.

Most APIs are "RESTish"

Very few real-world APIs satisfy every REST constraint strictly (few implement HATEOAS, for instance). Treat REST as a set of good defaults, not a checklist to pass.