ForewordPreface1.The Programmable Web and Its Inhabitants Kinds of Things on the Programmable Web HTTP: Documents in Envelopes Method Information Scoping Information The Competing Architectures Technologies on the Programmable Web Leftover Terminology2.Writing Web Service Clients Web Services Are Web Sites del.icio.us: The Sample Application Making the Request: HTTP Libraries Processing the Response: XML Parsers JSON Parsers: Handling Serialized Data Clients Made Easy with WADL3.What Makes RESTful Services Different? Introducing the Simple Storage Service Object-Oriented Design of S3 Resources HTTP Response Codes An $3 Client Request Signing and Access Control Using the $3 Client Library Clients Made Transparent with ActiveResource Parting Words4.The Resource-Oriented Architecture Resource-Oriented What Now? What's a Resource? URIs Addressability Statelessness Representations Links and Connectedness The Uniform Interface That's It!5.Designing Read-OnlyResource-OrientedServices Resource Design Turning Requirements Into Read-Only Resources Figure Out the Data Set Split the Data Set into Resources Name the Resources Design Your Representations Link the Resources to Each Other The HTTP Response Conclusion6.Designing Read/Write Resource-Oriented Services User Accounts as Resources Custom Places A Look Back at the Map Service7.AServicelmplementation A Social Bookmarking Web Service Figuring Out the Data Set Resource Design Design the Representation(s) Accepted from the Client Design the Representation(s) Served to the Client Connect Resources to Each Other What's Supposed to Happen? What Might Go Wrong? Controller Code Model Code What Does the Client Need to Know?8.REST and ROA Best Practices Resource-Oriented Basics The Generic ROA Procedure Addressability State and Statelessness Connectedness The Uniform Interface This Stuff Matters Resource Design URI Design Outgoing Representations Incoming Representations Service Versioning Permanent URIs Versus Readable URIs Standard Features of HTTP Faking PUT and DELETE The Trouble with Cookies Why Should a User Trust the HTTP Client?9.The Building Blocks of Services Representation Formats Prepackaged Control Flows Hypermedia Technologies10.The Resource-Oriented Architecture Versus Big Web Services What Problems Are Big Web Services Trying to Solve? SOAP WSDL UDDI Security Reliable Messaging Transactions BPEL, ESB, and SOA Conclusion11.Ajax Applications as REST Clients From AJAX to Ajax The Ajax Architecture A del.icio.us Example The Advantages of Ajax The Disadvantages of Ajax REST Goes Better Making the Request Handling the Response JSON Don't Bogart the Benefits of REST Cross-Browser Issues and Ajax Libraries Subverting the Browser Security Model12.Frameworks for RESTful Services Ruby on Rails Restlet DjangoA.Some Resources for REST and Some RESTful Resources Standards and Guides Services You Can UseB.The HTTP Response CodeTop 42 Three to Seven Status Codes: The Bare Minimum 1xx: Meta 2xx: Success 3xx: Redirection 4xx: Client-Side Error 5xx: Server-Side ErrorC.The HTlPHeaderToplnfinity Standard Headers Nonstandard HeadersIndex