"1.0 in request and 1.1 in response" and " 1.0 in request and 1.0 in response" for persistent connection, how is it allowed?

Thread Starter

terabaaphoonmein

Joined Jul 19, 2020
111

should not we use 1.1 there as that is the version of http for persistent connection? I don’t understand this.

My confusion came due to this paragraph in the book.


HTTP 1.0 is non-persistent whereas HTTP 1.1 is persistent.
Here in figure 8-9 b), we are using persistent connection. But the version of HTP we are using is 1.0.
Remaining page just for context(same page as confusion)-:

And for simplicity can I just used 1.1 both in request and response in these figures for persistent connections?




BELOW THIS ISN’T REQUIRED TO BE READ FOR ANSWERING THIS QUESTION
Not sure if they are related to my question, but I found them while googling about the issue.
According to RFC-:

“An HTTP client SHOULD send a request version equal to the highest
version for which the client is at least conditionally compliant, and
whose major version is no higher than the highest version supported
by the server, if this is known. An HTTP client MUST NOT send a
version for which it is not at least conditionally compliant.”

Not sure exactly what this would translate to.

https://stackoverflow.com/questions...nted-in-both-a-request-line-and-a-status-line

“An HTTP server SHOULD send a response version equal to the highest version for which the server is at least conditionally compliant, and whose major version is less than or equal to the one received in the request. An HTTP server MUST NOT send a version for which it is not at least conditionally compliant. A server MAY send a 505 (HTTP Version Not Supported) response if cannot send a response using the major version used in the client's request.”

This means-:
if server supports 1.1, then for both 1.1 and 1.0 requests, it should respond with 1.1 response
if server supports only 1.0, then respond 1.1 request with 1.0 response
 

Ya’akov

Joined Jan 27, 2019
9,165
If the client using HTTP/1.0 sends the “Connection: keep-alive” header to the server, the connection can be reused. The persistent connection can be dropped by the client by sending the “Connection: close” header.

The difference in HTTP/1.1 is that connections are persistent by default, and unless the request includes the “Connection: close” header.
 

Thread Starter

terabaaphoonmein

Joined Jul 19, 2020
111
If the client using HTTP/1.0 sends the “Connection: keep-alive” header to the server, the connection can be reused. The persistent connection can be dropped by the client by sending the “Connection: close” header.

The difference in HTTP/1.1 is that connections are persistent by default, and unless the request includes the “Connection: close” header.
yeah makes sense to me now. didn't know about this earlier.
 
Top