> For the complete documentation index, see [llms.txt](https://book.restfulnode.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.restfulnode.com/part-2.md).

# Part 2: The Theory

- [Chapter 2: REST Origins](https://book.restfulnode.com/part-2/chapter-2.md)
- [A Brief History of the Web and the Birth of REST](https://book.restfulnode.com/part-2/chapter-2/1-a-brief-history-of-the-web-and-the-birth-of-rest.md)
- [REST vs. HTTP](https://book.restfulnode.com/part-2/chapter-2/2-rest-vs-http.md)
- [REST - The Abstract Web Architecture](https://book.restfulnode.com/part-2/chapter-2/3-rest-the-abstract-web-architecture.md)
- [HTTP - A Peak at REST's Concrete Implementation](https://book.restfulnode.com/part-2/chapter-2/4-http-a-peak-at-rests-concrete-implementation.md)
- [What does it mean for an API to be RESTful?](https://book.restfulnode.com/part-2/chapter-2/5-what-does-it-mean-for-an-api-to-be-restful.md)
- [Measuring "RESTfulness" with Richardson Maturity Model](https://book.restfulnode.com/part-2/chapter-2/6-measuring-restfulness-with-richardson-maturity-model.md)
- [Pragmatic REST vs Dogmatic REST](https://book.restfulnode.com/part-2/chapter-2/7-pragmatic-rest-vs-dogmatic-rest.md)
- [Summary](https://book.restfulnode.com/part-2/chapter-2/summary.md)
- [Chapter 3: RESTful API Design Guidelines and "Best Practices"](https://book.restfulnode.com/part-2/chapter-3.md)
- [Theories vs. Principles vs. Guidelines](https://book.restfulnode.com/part-2/chapter-3/1-theories-vs-principles-vs-guidelines.md)
- [URI Design](https://book.restfulnode.com/part-2/chapter-3/2-uri-design.md)
- [Method Verbs](https://book.restfulnode.com/part-2/chapter-3/3-method-verbs.md)
- [Status Codes](https://book.restfulnode.com/part-2/chapter-3/4-status-codes.md)
- [Representational Design](https://book.restfulnode.com/part-2/chapter-3/5-representational-design.md)
- [Metadata Design](https://book.restfulnode.com/part-2/chapter-3/6-metadata-design.md)
- [Versioning Strategies](https://book.restfulnode.com/part-2/chapter-3/7-versioning-strategies.md)
- [Security Considerations](https://book.restfulnode.com/part-2/chapter-3/8-security-considerations.md)
- [Documentation](https://book.restfulnode.com/part-2/chapter-3/9-documentation.md)
- [Case Study: GitHub](https://book.restfulnode.com/part-2/chapter-3/10-case-study-github.md)
- [Summary](https://book.restfulnode.com/part-2/chapter-3/summary.md)
- [Chapter 4: Structured JavaScript Architecture](https://book.restfulnode.com/part-2/chapter-4.md)
- [The Monstrous Monolith and Its Downfall](https://book.restfulnode.com/part-2/chapter-4/1-the-monstrous-monolith-and-its-downfall.md)
- [Layered/N-Tier Architecture: The Unpopular Proven Way](https://book.restfulnode.com/part-2/chapter-4/2-layered-n-tier-architecture-the-unpopular-proven-way.md)
- [Microservices and Distributed Computing: A Popular Misdirection](https://book.restfulnode.com/part-2/chapter-4/3-microservices-and-distributed-computing-a-popular-misdirection.md)
- [Summary](https://book.restfulnode.com/part-2/chapter-4/summary.md)
- [Chapter 5: The 8 Step Recipe](https://book.restfulnode.com/part-2/chapter-5.md)
- [Route Name (URI)](https://book.restfulnode.com/part-2/chapter-5/1-route-name-uri.md)
- [Input Request](https://book.restfulnode.com/part-2/chapter-5/2-input-request.md)
- [Middleware](https://book.restfulnode.com/part-2/chapter-5/3-middleware.md)
- [Validation](https://book.restfulnode.com/part-2/chapter-5/4-validation.md)
- [Domain](https://book.restfulnode.com/part-2/chapter-5/5-domain.md)
- [Events](https://book.restfulnode.com/part-2/chapter-5/6-events.md)
- [Output Response](https://book.restfulnode.com/part-2/chapter-5/7-output-response.md)
- [Test, Refactor, Document](https://book.restfulnode.com/part-2/chapter-5/8-test-refactor-document.md)
- [Summary](https://book.restfulnode.com/part-2/chapter-5/summary.md)
