views:

315

answers:

2

hi, ok

we 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?

thx for your help

+3  A: 

HTTP pipelining happens sequentially. There is no support for any kind of interleaving in HTTP.

However, with pipelining, a server may know about all of the requests before it's done servicing the last one. In theory, it could do the necessary I/O in parallel.

It doesn't look like nginx will do that, though.

Habbie
+6  A: 

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.

Suresh Kumar