REST (REpresentational State Transfer) is an architectural style that uses identification of resources; manipulation of resources through representations; self-descriptive messages, and hypermedia as the engine of application state, to build distributed systems that are scalable and resilient to change.
The term was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation. Fielding is one of the principal authors of the Hypertext Transfer Protocol (HTTP) specification versions 1.0 and 1.1.
In simple language, REST is an alternative to SOAP based web services. Where SOAP tries to model the exchange between client and server as calls to objects, REST tries to be faithful to the web domain.
Resources
- Representational state transfer, on Wikipedia,
- Architectural Styles and the Design of Network-based Software Architectures, Fielding's dissertation introducing REST, and his clarification regarding the necessary usage of hyper-text in REST APIs
- implementing-rest on Google Code.
- implementing-rest with Spring.
- How to GET a Cup of Coffee
Top comments (0)