HTTP/1.0 and HTTP/1.1
HTTP (Hypertext Transfer Protocol) is the most expanded way to make two machines communicate. It is a protocol for requesting files over a network, where the payload (both request and response) is transferred as plain text (ASCII).
That’s the reason why we can easily use Telnet and type the HTTP commands in order to get the contents.
>$
telnet google.com 80 Trying 216.58.201.238... Connected to google.com. Escape character is'^]'
. GET /# Status
HTTP/1.0200
OK# Headers
Expires: -1 Cache-Control: private, max-age=
0 ..........# Content
<!doctype html> .......... </html> Connection closed by foreign host.
Later on, HTTP/1.1 added some performance optimizations:
Keep Alive connections: This prevents TCP connections from being closed every time that a response is sent. In the headers, you can set a timeout to tell how long an idle TCP connection may be kept open, as well as the maximum number of requests that may be sent in one...