REST is an architectural style for designing networked applications. It is an alternate to using complex mechanisms like COBRA, RPC, and SOAP to connect between client and server. REST makes communication between remote computers easy by using the simple HTTP protocol which support for CRUD (Create, Read, Update, and Delete) operations on the server. In a way, our World Wide Web is also based on the REST architecture.

Figure 5-10: Process view of a REST-based
Architecture

source: https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm

http://www.codeproject.com/Articles/112470/Developing-a-REST-Web-Service-using-C-A-walkthroug

https://stormpath.com/blog/secure-your-rest-api-right-way/

http://www.drdobbs.com/web-development/restful-web-services-a-tutorial/240169069