Skip to content

Resources — Module 01: Introduction to APIs

Resources listed here are specific to this module's content. For the full topic resource list (books, courses, communities), see ../RESOURCES.md.


Primary Resource

The single best thing to read/watch if you only have time for one resource.

MDN HTTP Overview — Mozilla Developer Network

Covers the fundamentals of HTTP that underpin everything in this module: request/response model, methods, headers, status codes, and the stateless nature of HTTP. Free, accurate, and maintained by Mozilla. Read before or alongside this module to reinforce the theory.


Official Documentation

The canonical reference for anything covered in this module.

  • MDN HTTP Reference — Complete HTTP reference: methods, status codes, headers. The authoritative free reference.
  • GraphQL Introduction — Official GraphQL introduction at graphql.org. Covers why GraphQL exists and the basics of the query language.
  • Python requests library — Official documentation for the requests library used in this module's code examples.
  • curl documentation — Official curl documentation. The "Everything curl" book at curl.se/book is particularly useful.

Relevant Background

For the historical context covered in this module.

Resource Notes
Roy Fielding's Dissertation, Chapter 5 [Verify URL at UCI repository] — The original REST definition. Chapter 5 is surprisingly readable. Recommended for understanding why each constraint exists.
GraphQL: A data query language (Facebook Engineering Blog) Facebook's original 2015 announcement post. Explains the problems GraphQL solved at Facebook's scale.

Videos

Specific videos that explain this module's concepts well.

  • [Verify: "What is REST?" video — confirm specific recommended video title and creator]Add after verifying a specific high-quality video
  • [Verify: Roy Fielding explaining REST constraints in a talk — confirm existence and URL]Add after verifying

Practice Sites

Places to get more practice with the skills in this module.

  • JSONPlaceholder — Free fake REST API for testing. Used in the module exercises. Perfect for practicing curl and Python requests without setting up a server.
  • httpbin.org — A simple HTTP request and response service. Send requests and inspect exactly what the server received — invaluable for understanding HTTP headers.
  • ReqRes — Another fake REST API with realistic user/resource data. Good for practicing POST/PUT/DELETE with realistic responses.

Other modules in this topic that closely relate to this one.

Module Relationship
[[modules/02_rest-fundamentals]] (Module 02: REST Fundamentals) Builds directly on the HTTP and REST concepts introduced here; covers resource modeling and status codes in depth
[[modules/05_graphql-fundamentals]] (Module 05: GraphQL Fundamentals) This module gives the "why" for GraphQL; Module 05 gives the "how" — schemas, queries, mutations
[[modules/04_api-authentication]] (Module 04: API Authentication) Module 01 introduces the statelessness question; Module 04 answers how authentication works in a stateless context

Modules from other topics in the knowledge base that cover related concepts.

Topic Module Relationship
[[networks]] HTTP module HTTP fundamentals from the network perspective — transport layer, TLS, DNS resolution
[[django-fastapi-flask]] FastAPI module Building REST APIs in Python — the server side of what Module 01 shows from the client side

Resources to Evaluate

Links found but not yet verified as genuinely useful. Check before relying on these.

  • Roy Fielding dissertation URL at UCI — needs direct link verification
  • Recommended introductory REST video — not yet identified; evaluate before adding