REST is an architectual style for designing distributed systems. It is not a standard but a set of constraints, such as being stateless, having a client/server relationship,
and a uniform interface. REST is not strictly related to HTTP, but is most commonly associated with it.
Principles of REST
Resources: Expose easily understood directory structure URIs.
Representations: Transfer JSON or XML to represent data objects and attributes.
Messages: Use HTTP methods explicitly (for example, GET, POST, PUT and DELETE)
Stateless: Interaction store no cliend contexton the server between requests. State dependencies limite and restrict scalability. The client holds session state.