The Hypertext Transfer Protocol (HTTP) might just be the most common application-level protocol out there these days.
A minimal HTTP request
GET/HTTP/1.1host:something
(Note the blank line at the end.)
HTTP headers
HTTP headers are (relatively) arbitrary. Common/Important ones to watch out for:
Server - Web server information (Apache, NGINX, etc.); useful for recon.
True-Client-IP - Override the client IP address (direct connections to servers).
X-Forwarded-For - Override the client IP address (connections forwarded through proxies).
X-Powered-By - Added by some application engines to advertise themselves; useful for recon.
Content-Type - Specifies the body content; normally only set by the client for POST/PATCH requests (for example, form data uses application/x-www-form-urlencoded.
Content-Length - The length of the body in bytes (which is just characters for ASCII) for POST requests.
There are other headers (for example, Cookie), obviously. Arbitrary additional (non-standard) headers should be X-prefixed, though there's technically nothing stopping anyone from ignoring this convention/standard.