Chapter 3. Resources and Representations
So far Iâve shown you two examples of REST in action: a website (Chapter 1) and a web API (Chapter 2). Iâve talked in terms of examples, because thereâs no RFC for REST the way there is for HTTP or JSON.
REST is not a protocol, a file format, or a development framework. Itâs a set of design constraints: statelessness, hypermedia as the engine of application state, and so on. Collectively, we call these the Fielding constraints, because they were first identified in Roy T. Fieldingâs 2000 dissertation on software architecture, which gathered them together under the name âREST.â
The runaway popularity of the term âRESTâ is out of proportion to the importance of REST to Fieldingâs dissertation. Fielding used REST primarily as an example, to tie something youâre already familiar with (the Web) into a general design process. REST became popular because the term happens to describe the architecture of one of the most successful technologies in human history.
In this chapter, Iâll finish my explanation of the Fielding constraints in terms of the World Wide Web. My âbible,â as it were, will not be the Fielding dissertation. (You can see Appendix C for a detailed, API-centric discussion of Fielding.) Instead, Iâll be drawing from the W3Câs guide to the Web, The Architecture of the World Wide Web, Volume One (there is no Volume Two). The Fielding dissertation explains the decisions behind the design of the Web, but ...
Get RESTful Web APIs now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.