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