HTTP & REST Engineering
Use browser DevTools and raw requests to understand the protocol your frontend and backend actually speak.
URLs and HTTP Methods
Here’s the simple reason this matters: This lesson is about URLs and HTTP Methods. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that the URL identifies the resource/query while GET communicates a read operation. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
Headers
Here’s the simple reason this matters: This lesson is about Headers. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that headers carry metadata such as representation preferences and credentials separately from the resource body. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
Bodies and JSON
Here’s the simple reason this matters: This lesson is about Bodies and JSON. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that the request body carries the new resource input and its media type is declared explicitly. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
2xx Success Semantics
Here’s the simple reason this matters: This lesson is about 2xx Success Semantics. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that different 2xx codes communicate different successful outcomes to clients. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
4xx Client Errors
Here’s the simple reason this matters: This lesson is about 4xx Client Errors. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that 4xx codes describe request/client-side conditions that the caller may need to change. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
5xx Server Errors
Here’s the simple reason this matters: This lesson is about 5xx Server Errors. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that 5xx means the server or an upstream dependency could not fulfill an otherwise valid request. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
Query Parameters
Here’s the simple reason this matters: This lesson is about Query Parameters. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that query parameters refine a collection request without changing the resource path identity. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
Path Parameters
Here’s the simple reason this matters: This lesson is about Path Parameters. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that the path identifies one task resource; the API should validate the identifier before querying. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
Idempotency
Here’s the simple reason this matters: An idempotent operation can be repeated without creating additional unintended effects. This matters when networks retry requests. In this course, we connect it directly to the HTTP contract between browser, Next.js, NestJS, and external clients, so you can see where the idea lives in a real project instead of memorizing a definition.
REST Resource Design
Here’s the simple reason this matters: This lesson is about REST Resource Design. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that resource-oriented URLs name domain nouns; HTTP methods communicate the action. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
Pagination Contracts
Here’s the simple reason this matters: This lesson is about Pagination Contracts. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that the response exposes enough continuation metadata for the client to request the next stable page. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
CORS
Here’s the simple reason this matters: CORS is a browser-enforced policy controlling whether frontend JavaScript from one origin may read responses from another origin. It is not authentication. In this course, we connect it directly to the HTTP contract between browser, Next.js, NestJS, and external clients, so you can see where the idea lives in a real project instead of memorizing a definition.
Cookies vs Bearer Tokens
Here’s the simple reason this matters: Cookies are automatically attached by the browser according to cookie rules; bearer tokens are explicitly placed in an Authorization header. Each has different CSRF and storage trade-offs. In this course, we connect it directly to the HTTP contract between browser, Next.js, NestJS, and external clients, so you can see where the idea lives in a real project instead of memorizing a definition.
Network DevTools
Here’s the simple reason this matters: This lesson is about Network DevTools. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that devTools gives direct evidence of what crossed the browser/network boundary instead of requiring guesses from UI symptoms. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
API Error Envelopes
Here’s the simple reason this matters: This lesson is about API Error Envelopes. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that clients receive a stable machine-readable code, human-safe message, and correlation identifier without raw stack traces. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
First Next.js → NestJS Vertical Slice
Here’s the simple reason this matters: This lesson is about First Next.js → NestJS Vertical Slice. Keep the idea practical: in the HTTP boundary between clients and the API, the worked example should show that the first vertical slice crosses the actual frontend/API boundary and is verified in browser DevTools plus API logs. Once you can explain why that happens, the name is much easier to remember. We connect it to the course project so you can see the idea working instead of memorizing a definition.
Check the mental models before the project
Answer from memory. If two options sound similar, explain the boundary difference before choosing.