Keep the useful bits, human.
Beginner field notes
- An HTTP request is a client’s message asking a server to handle an operation. It is the request, not the answer.
- In GET /boxes/B7 HTTP/1.1, GET is the method and /boxes/B7 is the target shown in this readable HTTP/1.1 example.
- Headers supply named information about the request. A body can carry additional data when the request’s semantics support it; not every request needs one.
See a worked example
Find the four parts in two paper requests
Sample only. Nothing here runs on your computer.
Fictional HTTPS connection to archive.example. Readable HTTP/1.1 teaching notation only; no message is sent.
A. Request the label view:
GET /boxes/B7?view=label HTTP/1.1
Host: archive.example
Accept: text/plain
A has no body.
B. Ask the Archive to schedule a label-change job:
POST /label-jobs HTTP/1.1
Host: archive.example
Content-Type: text/plain
Content-Length: 8
B7=Tools
Archive's explicit contract interprets B's body as a request to schedule changing B7's label to Tools. No response or completed job is given.A: method GET; target /boxes/B7?view=label; headers Host and Accept; no body. Accept requests plain text but does not establish the returned format or label.
B: method POST; target /label-jobs; headers Host, Content-Type and Content-Length; body B7=Tools, eight ASCII bytes.
Both name host archive.example. Neither HTTP target contains #notes.
There is no evidence here that either request arrived or that B7 was changed.The first line supplies method, target and the chosen version notation. Headers precede the empty line; B's application data follows it. The surrounding A/B labels and explanatory sentences are not wire-message lines. The examples ask different things, but neither request is its own response.
Visual
The reviewed description and complete diagram source are available here.
More of this diagram is available inside its frame. Focus the frame and use the arrow keys to pan.
Read the complete diagram source
This is the source for the reviewed diagram, not a command to run.
flowchart LR
C["Browser: client"] --> R["Request: method + target + headers + optional body"]
R --> S["Archive: server"]
S --> U["Result still needs a response and its meaning"] Sources and full explanation
Notes sources · Beginner
- RFC 9110: HTTP roles, intermediaries and caches
- MDN: HTTP messages
- RFC 9110: Safe, idempotent and common methods
- RFC 9110: Message structure and content semantics
AI source review · 2026-10-17
Reviewed explanation
An HTTP request is a message from a client asking a server to handle an operation on a target. HTTP, the Hypertext Transfer Protocol, gives the two programs shared rules for that exchange. The request has a method, such as GET, a target identifying the resource, headers supplying metadata and sometimes a body carrying data. These parts describe what is being asked, not whether it worked.
We will use readable HTTP/1.1 notation. In GET /boxes/B7?view=label HTTP/1.1, GET is the method and /boxes/B7?view=label is the request target. The Host: archive.example header names the intended host. Together with the stated HTTPS connection they identify our fictional address. The URL's #notes fragment is left out of the HTTP target. This ordinary path/query form is not the only request-target form HTTP defines.
Headers are named pieces of information about the message. Accept: text/plain asks for plain text as the response format; the actual response still needs to be inspected. Our GET example has no body. It asks for the B7 label's representation, not for a label change. You cannot learn the returned label just from reading this request.
The second example uses POST with a plain-text body, B7=Tools. Our Archive contract says that posting this data to /label-jobs asks it to schedule a label-change job. That application rule is stated here; POST does not universally mean that a field was saved, or that background work finished. Content-Type describes the body format, and Content-Length: 8 describes this example's eight ASCII body bytes. No JSON, programming language or command line is involved.
HTTP/1.1 displays these fields in text lines, with an empty line before a body. HTTP/2 and HTTP/3 carry the same kinds of meaning using different framing and control fields; they do not literally send every request as this text block. Both blocks below are inert teaching notation. Until a stated response or other evidence arrives, they do not prove delivery, approval or completion.
- MDN: HTTP messages — request structure
Uses readable HTTP/1.1 examples to explain method/target/version, headers, an empty line and optional message body. Used for that structure, not its broad simplifications about which methods can have bodies or how every HTTP version is encoded.
- RFC 9110: messages, control data, target and methods
Sections 3.4, 6.2–6.4, 7.1–7.2 and 9.3 distinguish request semantics, metadata/content, version-specific control representation, target/Host, GET and POST. Our POST job rule and stated eight-byte text are fictional example facts, not an HTTP guarantee of saving.
AI source comparison recorded 2026-10-17. Human learner validation is pending.
Quick quiz · one question
Read two request descriptions
Sample scenario. Synthetic HTTP/1.1 teaching fields, not raw bytes, a shell command or a complete HTTP parser. GET here has no body. The fictional POST /label-jobs contract queues the supplied B7=Tools text; its eight ASCII bytes have Content-Length: 8. No request runs.
- read-label
GET /boxes/B7?view=label; Host: archive.example; Accept: text/plain; body: absent. Structured inert teaching fields; not a command or full HTTP parser.- queue-label-job
POST /label-jobs; Host: archive.example; Content-Type: text/plain; Content-Length: 8; body: B7=Tools. Structured inert teaching fields; not a command or full HTTP parser.
Match the method, target, header names and body for the two structured paper examples.
Why this answer?
Answers stay on this device.
Sources and exercise scope
- MDN: HTTP messages — request structure
Uses readable HTTP/1.1 examples to explain method/target/version, headers, an empty line and optional message body. Used for that structure, not its broad simplifications about which methods can have bodies or how every HTTP version is encoded.
- RFC 9110: messages, control data, target and methods
Sections 3.4, 6.2–6.4, 7.1–7.2 and 9.3 distinguish request semantics, metadata/content, version-specific control representation, target/Host, GET and POST. Our POST job rule and stated eight-byte text are fictional example facts, not an HTTP guarantee of saving.
Original synthetic exercise. AI comparison against the reviewed lesson recorded on 2026-10-17; the references above state their scope. Human learner validation has not been run. A result here records this attempt; it does not establish mastery.
Save or adjust this lesson
Make this lesson yours
Save it for later, or tell your robot what would help.
This correction stays on this browser. Browse all concepts if the topic is missing.
Familiarity is your own assessment. To use it in your coding tool, download your updated learning profile.
Choices are saved on this browser. They do not sync to your account or coding tool.