Jump to ratings and reviews
Rate this book

Architectural Styles and the Design of Network-based Software Architectures

Rate this book

162 pages, PDF

Published January 1, 2000

8 people are currently reading
105 people want to read

About the author

Roy Thomas Fielding

1 book3 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
14 (30%)
4 stars
23 (50%)
3 stars
6 (13%)
2 stars
3 (6%)
1 star
0 (0%)
Displaying 1 - 10 of 10 reviews
Profile Image for Hazel.
93 reviews7 followers
June 2, 2013
I wouldn't exactly call this an enjoyable read, but it was certainly worthwhile. This paper describes, among other things, the principles behind REST, the architecture of the World Wide Web. Given that I work in the web industry, I'm surprised that it took me so long to get around to reading it.

The academic jargon was pretty frustrating; it made the concepts slightly more confusing to understand. That's why I'm giving the paper four stars instead of five.
Profile Image for Doug Orleans.
56 reviews5 followers
February 7, 2017
After reading about and working with "RESTful" web applications for years, I figured I should go back to the source and read Roy Fielding's dissertation where he defined the Representational State Transfer (REST) architecture. It wasn't really what I expected; it's largely about semi-formally defining the concept of a (software) "architectural style", with REST as the main example defined in Chapter 5. The definition of REST is rather abstract and nebulous; the definitions of "resource" and "representation" are good and useful, but I was expecting to see more about "hypermedia as the engine of application state" (HATEOAS)-- there's really just one vague paragraph about it here. He goes into more detail in a blog post, with some concrete examples and discussion in the comments.
Profile Image for Siarhei Krukau.
90 reviews6 followers
October 29, 2020
Well, I read the whole dissertation and found it kind of disappointing.

It's not what I expected it to be. It's not about differences between PUT and POST. There is no a single mention of "idempotention" in this book (I searched through the e-book, so it's 100%). It doesn't say how should I name resources in my REST endpoint: /users or /user. And there are no mentions of JSON in it.

So... Is it really a book about REST? Yes, it is. It's just the industry that overhyped this text and interviews that gone mad about POST and idempotention.

The book is pretty abstract and vague. Half of it is about different aspects of architectural styles. It may look naive in 2020, but it was probably deep in 2000. Last two chapters actually define REST. And, as I mentioned, it's not defined like in wiki or hundreds of those blog posts. REST is defined using only six constraints: client-server, stateless, cacheable, layered, having uniform interface and, optionally... "code on demand".

That's it. Do you recognize REST? Well, probably now we have only "stateless" left. I mean, for sure we are talking about client-server apps, who are layered and cacheable and use URIs. All apps are like this in 2020! The same applies to SOAP, right?

And yeah, that "code on demand" constraint... You know... In 2000 Java applets were popular, so that's what "code on demand" means. Actually, Roy had a vision that JS is more suitable for web than applets and he was damn right, as we see today. Still, I've never seen a person who says "REST" and means "code on demand".

What I'm saying is now we seem to understand REST way too differently than it was described here. It's an interesting book to look through to get the ideas that existed in 2000, but it's not a book you should read to create REST APIs.
10 reviews
April 13, 2022
Great dissertation, with a large impact on software engineering. For people having the desire to learn how to create appropriate RESTful API's, this is simply not what you're looking for. For people having an interest in software architecture and the design of large and complex systems, or having an interest in the historical perspective of the shaping of the internet this is a must read in my opinion.
Profile Image for Cameron.
437 reviews21 followers
November 8, 2011
Fielding's famous doctoral dissertation defining the architectural principles of representational state transfer or REST. Essentially, Fielding offers a set of constraints for implementing web standards like HTTP and URI to achieve generality of interfaces, minimal interaction latency and maximum scalability and independence of deployed components. Although the first several chapters are academic contrasts of various architectural styles, the brilliance of REST architecture becomes readily apparent. Chapter 5 in particular is the blueprint for RESTful web services. Recommended reading for anyone with an interest in SOA.
3 reviews
January 9, 2017
An academic description of architectural styles behind the modern web. Amazing, considering it was written almost 20 years ago. However, academic language is not easy to understand if you are not used to it. Therefore, for those who stumbled upon this dissertation while googling "REST/RESTful" I would recommend starting directly from chapter 5 and then decide if the whole thing is worth reading
10 reviews
July 5, 2014
Representational State Transfer. Disertasi dari pak Roy Fielding untuk referensi tugas akhir. Memang kadang bingung dengan istilah di dalemnya, musti cari lagi referensi lain yang berbahasa lokal untuk memperjelas maknanya.
Profile Image for Alan Kang.
8 reviews3 followers
January 27, 2018
This is the article which defined the term Representational State Transfer, a.k.a. REST.

Chapter one defines a terminology for software architecture. Chapter two defines the set of architectural properties used for evaluation of architectural styles. Chapter three examines several architectural styles such as client-server architecture, layered architecture, and caching. Chapter four presents the requirements of the WWW.

In chapter five, the author finally defines the REST. The author starts from a "null" architecture and derives the REST architectural "style" by gradually adding design constraints.

In chapter six, the final chapter, the author evaluates the current status of WWW and lists some mismatches between current implementation and/or practices vs. the REST architectural style. This was the most interesting and insightful part for me.
Displaying 1 - 10 of 10 reviews

Can't find what you're looking for?

Get help and learn more about the design.