In recent years, REST has been the battle cry of the movement toward lightweight network services. But there is more to REST than simply not using SOAP. We will deep dive into the definitive definition of REST (Fielding’s 2000 dissertation) to examine what parts are automatically included in HTTP, what parts are optional, and what parts front and back-end web developers are free to misuse for better or worse. Working code examples (written in Node.js) will help illustrate how to design network applications to leverage the REST principles inherently provided by HTTP.
By the end, you should know the core principles of REST enough to tell the different between any old HTTP service and a truly RESTful service. You will understand how to develop RESTful network services, and when to relax REST dogma when it isn’t worth the effort.