- 1 Surfing the Web
- 2 A Simple API
- 3 Resources and Representation
- 4 Hypermedia
- 5 Domain-Specific Design
- 6 The Collection Pattern
- 7 Pure Hypermedia Designs
- 8 Profiles
- 9 The Design Procedure
- 10 The Hypermedia Zoo
- 11 HTTP For APIs
- 12 Resource Description and Linked Data
- 13 CoAP REST for Embedded Systems
- 1 The Programmable Web and Its Inhabitants
- 2 Writing Web Service Clients
- 3 What Makes RESTful Services Different?
- 4 The Resource-Oriented Architecture
- 5 Designing Read-Only Resource-Oriented Services
- 6 Designing Read-Write Resource-Oriented Services
- 7 A Service Implementation
- 8 REST and ROA Best Practices
- 9 The Building Blocks of Services
- 10 The Resource-Oriented Architecture Versus Big Web Services
- 11 Ajax Applications as REST Clients
- 12 Frameworks for RESTful Services
- 1 Introduction
- Web Architecture
- Web Standards
- REST
- REST APIs
- REST API Design
- 2 Identifier Design with URIs
- URIs
- URI Format
- URI Authority Design
- Resource Modeling
- Resource Archetypes
- URI Path Design
- URI Query Design
- 3 Interaction Design with HTTP
- HTTP/1.1
- Request Methods
- Response Status Codes
- 4 Metadata Design
- HTTP Headers
- Media Types
- Media Type Design
- 5 Representational Design
- Message Body Format
- Hypermedia Representation
- Media Type Representation
- Error Representation
- 6 Client Concerns
- Versioning
- Security
- Response Representation Composition
- Processing Hypermedia
- Javascript Clients
- 7 Final Thoughts
- State of the Art
- Uniform Representation
- 1 Using the Uniform Interface
- 2 Identifying Resources
- 3 Designing Representations
- 4 Designing URIs
- 5 Web Linking
- 6 Atom and AtomPub
- 7 Content Negotiation
- 8 Queries
- 9 Web Caching
- 10 Conditional Requests
- 11 Miscellaneous Writes
- 12 Security
- 13 Extensibility and Versioning
- 14 Enabling Discovery