Why does Apache send HTTP/1.1 when client requests HTTP/1.0? And many other very similar problems [closed]

Solution 1:

That is completely by design and as expected when your server isn’t configured yet to support HTTP/2 and/or you’re not connecting with a HTTP/2 capable client.

RFC 2616 requires that HTTP servers always begin their responses with the highest HTTP version that they claim to support.

That HTTP version can be different from what the client used in their request. Over the non-binary telnet connection the best that Apache can support will be HTTP/1.1

Note that Apache (and other web servers ) should limit the other aspects of their response to the capabilities both the client and server mutually support though. When you make HTTP/1.0 requests Apache for example should not use response codes that were not part of the HTTP/1.0 spec such as the code “100” “Continue”.