Search code examples
httpnginxtcp

Multiple HTTP GET requests in one TCP/IP connection - processed parallel or sequential


Me get a lot of Googlebot requests.

Googlebot requests up to 11 different files via 11 HTTP GET request, all in one single TCP/IP connection.

Are these GET request (all in the same TCP/IP connection) processed via the server in

  • parallel
  • or in sequence?

Or is it up the the server?

  • in this case, how does Nginx handle this?

Solution

  • are these GET request (all in the same TCP/IP connection) processed via the server in

    parallel or in sequence?

    It is processed in sequence. It is called pipelining. Pipelining is part of HTTP/1.1 and it means that the client need not wait for the current request to complete before sending the next request over a persistent connection. It can send several requests over the same connection without waiting for responses for previous requests. The requests are processed in FIFO manner i.e. The client can send several requests in sequence, and the server is supposed to send a response to each request in the same order the request was received. So if the server you are using in HTTP/1.1 compliant, then it should be handled in sequence.