The Representational State Transfer (REST) is an architectural style for distributed systems. REST focuses on the nature and state of an applications' data and is sometimes also referred to as RESTful, REST-style or REST-compliant application architecture. It allows requesting systems (clients) to access and manipulate data on a RESTful application server.
A key aspect of REST is the abstraction of data to resources and representations. Any information that can be named can be a resource: a document or image, a temporal service (e.g. "today's price of a share at New York Stock Exchange"), a collection of other resources, a non-virtual object (e.g. a person), and so on. A representation captures the current or requested state of a resource.
The different networked systems exchange resource representations with each other. For this purpose, every resource is uniquely addressable using a uniform and minimal set of commands and identifiers. This happens in a stateless client/server protocol. For example, by using HTTP commands as GET, POST, PUT, or DELETE against a REST API.