While the REST design philosophy has captured the imagination of web and enterprise developers alike, using this approach to develop real web services is no picnic. This cookbook includes more than 100 recipes to help you take advantage of REST, HTTP, and the infrastructure of the Web. You'll learn ways to design RESTful web services for client and server applications that meet performance, scalability, reliability, and security goals, no matter what programming language and development framework you use. Each recipe includes one or two problem statements, with easy-to-follow, step-by-step instructions for solving them, as well as examples using HTTP requests and responses, and XML, JSON, and Atom snippets. You'll also get implementation guidelines, and a discussion of the pros, cons, and trade-offs that come with each solution. * Learn how to design resources to meet various application scenarios * Successfully design representations and URIs * Implement the hypertext constraint using links and link headers * Understand when and how to use Atom and AtomPub * Know what and what not to do to support caching * Learn how to implement concurrency control * Deal with advanced use cases involving copying, merging, transactions, batch processing, and partial updates * Secure web services and support OAuth