FREE COURSE / REAL PRACTICE
HTTP, JSON & API fundamentals
Understand HTTP exchanges and build deterministic URL, JSON, pagination and retry-policy tools over supplied offline responses.
What you’ll work toward
Inspect request/response records, interpret methods and statuses, encode URL components, validate JSON pages and evaluate bounded client policies without making network requests.
Read an explanation, inspect the diagrams and work through the available checks, debugging exercises and builds. Feedback and prerequisite links guide the next step.
Before you start
This course builds on these skills:
Individual lessons can add prerequisites. The course map shows your actual readiness.
A look inside the first lesson
Requests, responses & transport failures
exchange = {
"request": {"method": "GET", "target": "/books?tag=python"},
"response": {"status": 404, "body": b""},
}
response = exchange["response"]
print(response is None) # False: a response exists
print(response["status"], len(response["body"])) # 404 0Your course outline
Follow the lessons in curriculum order. Open a unit to preview the ideas you’ll work with.
HTTP messages and representation boundaries
- LESSON 01.01
Requests, responses & transport failures
Separate the request, HTTP response and absence of a response while inspecting honest offline exchanges.
Open lesson - LESSON 01.02
Methods, status codes & retry meaning
Distinguish safe and idempotent methods, status families and responses that carry no content.
Open lesson - LESSON 01.03
Header names, values & content types
Look up case-insensitive header names without corrupting values or pretending every repeated field can be merged.
Open lesson - LESSON 01.04
URLs, path segments & query encoding
Encode raw path segments and ordered query pairs without losing delimiters, repeats or blank values.
Open lesson
Validated API data and bounded client policy
- LESSON 02.01
JSON decoding, schemas & explicit errors
Process status, content type, UTF-8, JSON syntax and API shape in a deliberate order without hiding failures.
Open lesson - LESSON 02.02
Pagination, opaque cursors & termination
Traverse supplied pages in server-declared order with cycle detection, explicit limits and no silent partial results.
Open lesson - LESSON 02.03
Capstone: a deterministic API client policy
Combine response validation with bounded retries, timeout decisions and Retry-After budgets over supplied offline attempt traces.
Open lesson