Books & Videos

Table of Contents

  1. Chapter 1 Surfing the Web

    1. Episode 1: The Billboard

    2. Episode 2: The Home Page

    3. Episode 3: The Link

    4. Episode 4: The Form and the Redirect

    5. Application State

    6. Resource State

    7. Connectedness

    8. The Web Is Something Special

    9. Web APIs Lag Behind the Web

    10. The Semantic Challenge

  2. Chapter 2 A Simple API

    1. HTTP GET: Your Safe Bet

    2. How to Read an HTTP Response

    3. JSON

    4. Collection+JSON

    5. Writing to an API

    6. HTTP POST: How Resources Are Born

    7. Liberated by Constraints

    8. Application Semantics Create the Semantic Gap

  3. Chapter 3 Resources and Representations

    1. A Resource Can Be Anything

    2. A Representation Describes Resource State

    3. Representations Are Transferred Back and Forth

    4. Resources with Many Representations

    5. The Protocol Semantics of HTTP

    6. Which Methods Should You Use?

  4. Chapter 4 Hypermedia

    1. HTML as a Hypermedia Format

    2. URI Templates

    3. URI Versus URL

    4. The Link Header

    5. What Hypermedia Is For

    6. Beware of Fake Hypermedia!

    7. The Semantic Challenge: How Are We Doing?

  5. Chapter 5 Domain-Specific Designs

    1. Maze+XML: A Domain-Specific Design

    2. How Maze+XML Works

    3. The Collection of Mazes

    4. Is Maze+XML an API?

    5. Client #1: The Game

    6. A Maze+XML Server

    7. Client #2: The Mapmaker

    8. Client #3: The Boaster

    9. Clients Do the Job They Want to Do

    10. Extending a Standard

    11. The Mapmaker’s Flaw

    12. Maze as Metaphor

    13. Meeting the Semantic Challenge

    14. Where Are the Domain-Specific Designs?

    15. If You Can’t Find a Domain-Specific Design, Don’t Make One

    16. Kinds of API Clients

  6. Chapter 6 The Collection Pattern

    1. What’s a Collection?

    2. Collection+JSON

    3. How a (Generic) Collection Works

    4. The Atom Publishing Protocol (AtomPub)

    5. The Semantic Challenge: How Are We Doing?

  7. Chapter 7 Pure-Hypermedia Designs

    1. Why HTML?

    2. HTML’s Capabilities

    3. Microformats

    4. The hMaze Microformat

    5. Microdata

    6. Changing Resource State

    7. The Alternative to Hypermedia Is Media

    8. HTML’s Limits

    9. The Hypertext Application Language

    10. Siren

    11. The Semantic Challenge: How Are We Doing?

  8. Chapter 8 Profiles

    1. How Does A Client Find the Documentation?

    2. What’s a Profile?

    3. Linking to a Profile

    4. Profiles Describe Protocol Semantics

    5. Profiles Describe Application Semantics

    6. XMDP: The First Machine-Readable Profile Format

    7. ALPS

    8. JSON-LD

    9. Embedded Documentation

    10. In Summary

  9. Chapter 9 The Design Procedure

    1. Two-Step Design Procedure

    2. Seven-Step Design Procedure

    3. Example: You Type It, We Post It

    4. Some Design Advice

    5. Adding Hypermedia to an Existing API

    6. Alice’s Second Adventure

  10. Chapter 10 The Hypermedia Zoo

    1. Domain-Specific Formats

    2. Collection Pattern Formats

    3. Pure Hypermedia Formats

    4. GeoJSON: A Troubled Type

    5. The Semantic Zoo

  11. Chapter 11 HTTP for APIs

    1. The New HTTP/1.1 Specification

    2. Response Codes

    3. Headers

    4. Choosing Between Representations

    5. HTTP Performance

    6. Avoiding the Lost Update Problem

    7. Authentication

    8. Extensions to HTTP

    9. HTTP 2.0

  12. Chapter 12 Resource Description and Linked Data

    1. RDF

    2. When to Use the Description Strategy

    3. Resource Types

    4. RDF Schema

    5. The Linked Data Movement

    6. JSON-LD

    7. Hydra

    8. The XRD Family

    9. The Ontology Zoo

    10. Conclusion: The Description Strategy Lives!

  13. Chapter 13 CoAP: REST for Embedded Systems

    1. A CoAP Request

    2. A CoAP Response

    3. Kinds of Messages

    4. Delayed Response

    5. Multicast Messages

    6. The CoRE Link Format

    7. Conclusion: REST Without HTTP

  1. Appendix The Status Codex

    1. Problem Detail Documents

    2. Families of Status Codes

    3. Four Status Codes: The Bare Minimum

    4. 1xx: Informational

    5. 2xx: Successful

    6. 3xx: Redirection

    7. 4xx: Client-Side Error

    8. 5xx: Server-Side Error

  2. Appendix The Header Codex

    1. Custom HTTP Headers

    2. The Headers

  3. Appendix An API Designer’s Guide to the Fielding Dissertation

    1. Architectural Properties of the Web

    2. Interface Constraints

    3. Architectural Constraints

    4. Summary

    5. Conclusion

  4. Glossary

  5. Index

  6. Colophon