RESTful API

Everything is a resource (noun) instead of action (verb) — different from RPC.

QUOTE

REST provides a set of architectural constraints that, when applied as a whole, emphasizes scalability of component interactions, generality of interfaces, independent deployment of components, and intermediary components to reduce interaction latency, enforce security, and encapsulate legacy systems. — the REST dissertation

  • Architectural properties: Performance, Scalability, Simplicity, Modifiability, Visibility, Portability, Reliability.

Six Guiding Principles

  • Uniform Interface
  • Client-Server
  • Stateless
  • Cacheable
  • Layered System
  • Code on Demand (optional)

Resources