This document discusses how to build rich web applications by following REST principles and leveraging HTTP. It outlines the history of SOAP and XML-RPC and their limitations compared to REST. It then discusses how AngularJS embraces REST constraints like statelessness, caching, and hypermedia controls. The document argues that AngularJS simplifies building RESTful applications through features like data binding, iteration, organization, and testability compared to alternatives like jQuery. It also shows how to build RESTful resources and APIs in AngularJS using $resource and discusses implementing other HTTP features like caching, authentication, and content negotiation.