HTTP pipelining - simultaneous connection responses

I just read this article on Wikipedia 's article on HTTP pipelining, and the diagram shows that responses can be sent simultaneously on the same connection. Am I misinterpreting the chart or is this allowed?

Section 8.1.2.2 of RFC 2616 states:

The server MUST send its responses to these requests in the same order that the requests were received.

While this does not explicitly exclude concurrent responses, it does not speak of the need to ensure that answers must not only begin in the correct order with respect to requests, but also end in the correct order.

I also can’t imagine the practical possibilities of solving parallel answers - how does the client find out which answer the received data refers to?

Therefore, my interpretation of the RFC is that although additional requests can be made while the response to the first request is being processed, the client is not allowed to send parallel requests or the server to send simultaneous responses to the same connection.

It is right? I have provided the chart below to illustrate my interpretation.

This will prevent the problems that I mentioned, but seem to be completely inconsistent with the diagram on Wikipedia.

HTTP pipelining

+3
source share
1 answer

Short answer: Yes, clients and servers can send requests and responses at the same time.

, - . RFC 2616 ( , ) , . :).

, . , . ( , .)

, ?

, , , , .

  • ( ).
  • (TCP , ) .
  • , .
  • , .
  • ( ...)
  • . , , ..
  • (TCP ) , , .

, , , TCP , .

, .

GET /request1.html HTTP/1.1
Host: example.com
...

GET /request2.html HTTP/1.1
Host: example.com
...

GET /request3.html HTTP/1.1
Host: example.com
...

HTTP/1.1 200 OK
Content-Length: 234
...

HTTP/1.1 200 OK
Content-Length: 123
...

HTTP/1.1 200 OK
Content-Length: 345
...

TCP - , . , ; 1, , ; , , , ; .. TCP , ..

, ...

+5

All Articles