Non-order processing in persistent connections

Hi, Every body:
 
HTTP/1.1 says when web server deals with the pipelined requests in persistent connections, it must return responses in same order that they recieved. I think that is an idea not good enough, at least in some special situations.
 
I am working on a web server and write my master degree thesis about HTTP. My implementation supports both multi-thread and persistent connections. But with my test,  in some situation , ordered processing in pipeline requests costs long waiting time .
 
For example: when a request in the pipeline needs a long time processing (like retrieve data from a database) , so the later responses must wait even if they has been ready for being sent away.
 
In this situation , web server has to deal with the ordered messages at the cost of a long response time and more resource for holding the ready response in memory.
 
In fact, we can make some minor alteration to http server's performance. For example, we can add a header to the messages to indicate the request/response pair, something like 'Request-ID'. A client may create a unique digital ID for every request to the same server ,  then the server can return responses with this ID or without but use the same order. To name this mechanism , I call it as 'non-order processing'.
 
Any question and comment about this 'non-order processing', and my web server or my thesis as well, please contact with me: zhoukang@cheerful.com  . I can share source code of my web server with others.
 
Zhou Kang
Computer Department,
Sichuan University of P.R.China
 

Received on Sunday, 17 May 1998 11:45:30 UTC