Diagnosis, exercises and capstone
HTTP diagnosis lab and test matrix
Find DNS, TLS, HTTP, CORS, authentication and cache failures at the right layer.
Understand the concept
A failed page is not automatically one HTTP error. DNS failure may produce no HTTP response. A TLS certificate failure can stop the exchange before content arrives. A local timeout is not the same event as a server’s 408 or a gateway’s 504. First ask whether a response exists, which hop produced it, and whether the browser exposes it to script.
Inspect URL, method, redirects, headers, timing and content together. Fetch commonly resolves with a Response even for 404, so inspect response.ok. CORS can hide a real 401 from script. Redact credentials and personal data before sharing HAR files, and document cache or service-worker test settings.
A test matrix includes representations, methods, identity, permissions, caching, preconditions and replay safety. One 200 happy path proves little. Use the exercises to identify which lesson to revisit, not as a claim of certified expertise.
When diagnosing from evidence rather than blaming client or backend.
Reporting 500 when no HTTP response was produced.
FROM TERMS TO DECISIONS
What would you do with this request?
Choose an answer and read the reasoning. Revisit lessons for missed topics. Results only count correct answers to these questions; they are not a proficiency or security certification.
An API receives an expired Bearer token. Which response fits?
Answers remain in this page session; reading progress is stored separately in the browser.
One topic. Three levels of depth.
DNS failure → no origin HTTP responseInvestigate name resolution first.
This page does not send requests to external servers. Messages are readable HTTP/1.1 illustrations, not HTTP/2 or HTTP/3 wire dumps. example.test is reserved for examples. Run commands and JavaScript only in your own test environment; never publish real tokens or cookies.
Try it yourself first.
Fetch did not enter catch but status is 404. Is that inconsistent?
Show the solution and explanation
No: inspect response.ok / response.status.No. HTTP error responses can arrive as ordinary Response objects.