Here is a summary of what you need to know about REST:
- REST is an acronym for Representational State Transfer
- REST is an architecture style for designing networked applications. The idea is that, rather than using complex mechanisms such as CORBA, RPC or SOAP to connect between machines, simple HTTP is used to make calls between machines
- REST requests made from a client to a resource (server) will receive a response that may be in XML, HTML, JSON or some other format.
- REST has become one of the most important technologies for Web applications
- REST is primarily used to build Web services that are lightweight, maintainable & scalable
- REST is not dependent on any protocol, but it relies on a stateless, client-server, cacheable communications protocol — and in virtually all cases, the HTTP protocol is used
- REST allows clients (browsers) and servers to interact in complex ways without the client knowing anything beforehand about the server and the resources it hosts
- REST is a lightweight alternative to mechanisms like RPC (Remote Procedure Calls) and Web Services (SOAP, WSDL, et al.)
- REST vs. RESTful: RESTful is a service based on REST
- Despite being simple, REST is fully-featured; there’s basically nothing you can do in Web Services that can’t be done with a RESTful architecture.
- The World Wide Web (WWW) is based on HTTP, thus can be viewed as a REST-based architecture. RESTful applications use HTTP requests to post data (create and/or update), read data (e.g., make queries), and delete data
Clicking on the links above will provide more info (Source: restapitutorial.com)
In 2000 a doctoral candidate at UC Irvine named Roy Fielding presented his thesis entitled “Architectural Styles and the Design of Network-based Software Architectures”. In his thesis, Mr. Fielding describes a model he called Representational State Transfer (REST) as an architectural principle of the World Wide Web. Over the ensuing years, the acceptance of REST as an approach to developing web services has led to many software vendors implementing REST into their products (and therefore becoming RESTful) as a way of providing interoperability with their products.