Representational State Transfer (REST). The name "Representational State Transfer" is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through the application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use.
REST is a stateless client-server architectural style for distributed computing with 4 important interface constraints:
- identification of resources
- manipulation of resources through representations
- self-descriptive messages
- hypermedia as the engine of application state.
REST was described by Roy Fielding in 2000: http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm. But as is stated in the dissertation had been used to guide the design and development of the architecture for the modern Web since 1994.