Web and protocol foundations
What is HTTP, and why learn it?
Understand the web’s shared language.
More than an article. A complete learning path.
70 lessons, 14 modules and explained examples at three levels. Follow the sequence or jump to a topic.
UNDERSTAND THE FLOW, NOT JUST THE TERMS.
Status codes · 1xx–5xx
64 entries, families, header rules and API decisions.
Explore the moduleAuthentication · Identity
Cookies, Bearer, JWT, refresh, logout and MFA.
Explore the moduleAuthorization · Permissions
Policies, roles, scopes, ownership and tenant boundaries.
Explore the moduleOAuth / OIDC / PKCE
Token purposes, code exchange, state and nonce.
Explore the moduleSuggested order: requests and methods → status codes → HTTPS → identity → permissions → browser/caching → resilience → diagnosis. Every lesson includes three example levels and a worked exercise.
Test your decisions in the 20-scenario diagnosis labUnderstand the concept
HTTP is the application-layer protocol that defines requests and responses about resources. HTML, images and JSON share its core semantics. A resource need not be a file: it can represent an order, a search result or an account view.
Learning HTTP reveals what frameworks hide. Is a page slow, did a response come from cache, why did authentication fail, or why did CORS block access? The Network panel often provides evidence. A working screen does not necessarily imply correct network behaviour.
This path moves from message structure to HTTPS, caching, browser policies and production diagnosis. Reserved example.test names are illustrative. Snippets are model messages or commands, not live requests executed by this site. Practise against your own local environment.
When building APIs and diagnosing browser behaviour.
Reducing HTTP to GET and POST names.
One topic. Three levels of depth.
GET /api/projects HTTP/1.1
Host: example.test
Accept: application/jsonThe client requests projects and prefers JSON.
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.
Does an unreachable server always produce a 500 response?
Show the solution and explanation
No HTTP response ≠ HTTP 500No. DNS, connection or TLS failure may occur without any HTTP response.