openskills.info
Open Course

HTTP Fundamentals

HTTP is the application protocol that clients and servers use to exchange requests and responses for resources. It gives browsers, APIs, proxies, and other systems a shared set of methods, fields, status codes, and message semantics.

itNetworking

Don't Panic — HTTP Fundamentals

HTTP is the arrangement that lets a client ask a server for something, then receive an answer in a form both sides can read. It arrived because a web of browsers, services, proxies, and caches cannot reasonably negotiate a private dialect for every conversation. The arrangement is modest: a request states intent, a response reports the outcome, and the machinery gets to argue about the details later. This has proved annoyingly durable.

A resource is the thing being addressed, such as a report or customer record; a representation is the version of it that crosses the wire. That distinction saves a surprising amount of confusion. A URI identifies the target, while content carries information about it. One target can have HTML for a browser and JSON for a program without requiring two separate realities, which is good news for everyone who has ever met a browser and a program in the same week.

The request is the control panel. Its method says what the client intends, its target says where, and its fields supply the conditions and metadata. The response carries a status, more fields, and sometimes content. Read the exact status rather than stopping at its first digit: a 304 is cache validation, a 502 names a gateway-to-upstream problem, and a 404 is still an HTTP response rather than a small fire in DNS or TLS.

The misleading bit is that the server in front of you may not be the origin that knows the resource. A gateway can receive a request as though it owns it, then pass it upstream; a cache can answer before the origin is asked at all. This is why a response is evidence, not a confession. Capture the method, target, status, and fields before changing anything, then work out which hop produced them.

Caching supplies the other useful surprise. A stored response can be fresh, stale, or validated with an entity tag. `If-None-Match` and `ETag` let a client ask whether its stored representation still applies; 304 says it does, not that the server has thoughtfully sent a blank document. HTTP is stateless at the protocol level, yet applications can carry cookies or credentials on every request, because apparently even a protocol needs boundaries.

Start with the Intro for the full request-and-response map. Use Slides when you need the relationships in one view, Cheatsheet for the status, field, cache, and version anchors, and Practice to capture controlled exchanges. The Quiz checks the distinctions that sound interchangeable until they are not. After that, the Reference tab leads into the standards that make all this bureaucracy behave consistently.

Where this skill leads

Relevant careers

See how this topic contributes to broader role-level skill maps.

Sources