REST (Representational State Transfer) is an architectural style, which theoretical concept were defined by Roy Fielding in his 2000 dissertation. It describes a set of architectural constraints:

  1. Client-server architecture
  2. Statelessness
  3. Cacheability
  4. Uniform interface
  5. Layered system
  6. (Optional) Code on demand

It’s used as the philosophy behind the RESTful APIs.