2

Given we have Apache web server and a client which sends several pipelined requests.

According to RFC server is supposed to return responses in the same order as requests are sent. So, does it mean server processes requests sequentially or it would still process them in parallel only waiting for slow ones when outputting the lot?

If they are processed in parallel then faster requests (in terms of amount of server time required) which were sent later will be finished earlier then slow requests.

Eg. Request 1 requires 60 seconds to be processed Request 2 - 5 sec Request 3 - 5 sec Request 4 - 30 sec Request 5 - 5 sec

All these 5 requests are sent one after another. Will requests 2,3,5 be completely processed (but not returned) before slow requests 1 and 5 or server would wait for each requests before starting processing another one?

alexeit
  • 906
  • 2
  • 16
  • 18

1 Answers1

1

After making several tests i can confirm that Apache does infact wait for each request to be processed before starting processing the next one so processing is SEQUENTIAL.

alexeit
  • 906
  • 2
  • 16
  • 18
  • 1
    I'm reading http is essentially FIFO, even with pipelined connections. I just came across this post today, which describes some of the problems with http: http://www.igvita.com/2011/04/07/life-beyond-http-11-googles-spdy – mahnsc May 04 '11 at 22:32
  • This articles confirms my finding, thank you. Interesting read as well. – alexeit May 05 '11 at 09:29