HTTP is text you could type yourself
An HTTP request is a start line, some headers, a blank line, and an optional body.
GET /courses HTTP/1.1
Host: firsthack.in
User-Agent: curl/8.4.0
Accept: text/html
The response has the same shape.
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 8421
Cache-Control: max-age=3600
<!doctype html> ...
The blank line after the headers is required — it is how the receiver knows the headers ended and the body begins.
Methods you need: GET reads and must not change anything. POST creates or submits. PUT replaces. PATCH modifies part. DELETE removes.