FULL_STACK_DEVELOPER_2026_COMPLETE - Phase 05 HTTP Mental Model
VOLUME 02 - FRONTEND + BACKEND FOUNDATIONS
HTTP Mental Model
Client, server, resource, representation and contract
HTTP is the contract between independent programs.
REQUEST
HTTP Client TaskFlow API
PowerShell / browser / later Next.js NestJS + Fastify
RESPONSE
method + target + headers + optional body
status + headers + optional body
Figure - HTTP request/response exchange. Phase 05 studies the protocol before Phase 06 introduces a browser cross-origin call.
Book 1 of Phase 05
FULL_STACK_DEVELOPER_2026_COMPLETE - Phase 05 HTTP Mental Model
HTTP is a contract, not a framework feature
NestJS did not invent GET, status 200 or JSON. Next.js will not invent them either. Both applications participate in an HTTP
contract defined independently of either framework. That separation is useful: if you later replace Next.js with a mobile app,
or NestJS with another backend, the HTTP concepts remain recognizable.
HTTP is the contract between independent programs.
REQUEST
HTTP Client TaskFlow API
PowerShell / browser / later Next.js NestJS + Fastify
RESPONSE
method + target + headers + optional body
status + headers + optional body
Figure - HTTP request/response exchange. Phase 05 studies the protocol before Phase 06 introduces a browser cross-origin call.
The roles
Role Meaning in TaskFlow
Client A program that initiates a request. In this phase: PowerShell. Later: Next.js/browser.
Server The TaskFlow NestJS + Fastify process listening on port 4000.
Resource The thing addressed by the request, such as the Todo collection or a specific Todo.
Representation A transferable form of resource state, commonly JSON in our API.
Contract The agreed method, URL, headers, body shape, status and response shape.
One request has one primary direction
The client decides when to initiate an ordinary HTTP request. The server receives it, processes it, and sends a response. This
is different from realtime push architectures, which appear much later. Understanding ordinary request/response behavior
first makes later realtime technology easier to justify.
FULL_STACK_DEVELOPER_2026_COMPLETE - Phase 05 HTTP Mental Model
Resource identity and request semantics are separate
Todo Collection
/todos
Todo 1 Todo 2 Todo 3
/todos/1 /todos/2 /todos/3
URLs identify resources. HTTP methods express what the client asks to do with them.
Figure - REST-oriented resource modeling separates resource identity from method semantics.
The URL identifies what the request targets. The HTTP method contributes what kind of operation the client is requesting.
This is why GET /todos/3 and DELETE /todos/3 can target the same resource while expressing different semantics.
Mental model
Think: resource + method + representation + outcome. Do not think: "controller function name somehow became an API."
The controller is only the server-side implementation of a protocol contract.
HTTP version vs HTTP semantics
HTTP/1.1, HTTP/2 and HTTP/3 differ in framing, multiplexing and transport behavior. For application development, the
course first focuses on the shared semantics: methods, target URIs, fields/headers, representations and status codes. That
knowledge transfers across protocol versions.
What the server can and cannot infer
● A server receives the request the client actually sent, not the request the developer intended to send.
● If the path is wrong, routing may fail even if the JSON body is perfect.
● If the method is wrong, the correct path may still not match the intended handler.
● If JSON is malformed or the content type is incorrect, the server may not obtain the expected representation.
● If a request succeeds but the status code is misleading, client code can still behave incorrectly.
REAL-WORLD NOTE
Mobile apps, CLI tools, partner integrations and browser frontends can all call the same HTTP API. A strong API contract
reduces coupling between those clients and the backend implementation.
Official source notes
Primary protocol reference: RFC 9110 - HTTP Semantics (RFC Editor). Supplemental developer reference: MDN HTTP Reference and
HTTP Request Methods. Nest-specific routing and status behavior reference: NestJS Controllers documentation.
FULL_STACK_DEVELOPER_2026_COMPLETE - Phase 05 HTTP Mental Model
This phase teaches HTTP semantics independent of a specific transport version. HTTP/2 and HTTP/3 change framing and transport details,
while request methods, target resources, headers, status codes and representation semantics remain the important application-level concepts
for this course.