HTTP: How It Is Built

A request and a response.

Request/response line, headers and a body.

Lines delimited by the CRLF characters (0x0d, 0x0a)
Browser → Server

Specify the method: GET, POST, HEAD, OPTIONS, etc.

Specify the location: a URL/URI (Unified Resource Locator/Identifier).

Tell the server more stuff how you want the data: headers.

Provide optional body.
Browser ← Server

The server responds with status code: 2xx (ok), 3xx, 4xx, 5xx (not ok).

It is followed by extra information: headers.

There is also optional body.

Plain text format made of lines.

Lines are segmented by the CRLF characters. (carriage return, line feed)

Each part made of initial line, headers and a body.

Guarantees simple implementation across different technologies.

hat tip: Websecurify