RE: On pipelining
Scott Lawrence (lawrence@agranat.com)
Fri, 21 Jan 2000 10:59:41 -0500
> Basically, in the following scenario (from mike sabin)..
>
> > Request1
> > Request2
> > Request3
> > Response1
> > Response2
> > Response3
> >(although, clearly, if there are many requests we might expect
> >the request stream to partially overlap the response stream).
>
> would "resolution of request2" await the completion of
> transmission
> of response1? Or can these 3 requests be resolved simultaneously
> (say, using
> seperate threads); with first response1 sent, then 2, then 3.
> That is, could a multi-threaded server create response2, wait for
> succesful transmission of response1 (over the persistent
> connection),
> and then transmit response2 (over this
> same persistent connection)?
If request1 is a GET, HEAD, TRACE, or OPTIONS, then I would say that
the server could legitimately assume that it had no side effects.
One could be more conservative and assume that any CGI (or CGI-like)
resource had side effects. Having assumed that there were no side
effects it might be reasonable to overlap the processing, if you
have the buffer space to spare.
--
Scott Lawrence Director of R & D <lawrence@agranat.com>
Agranat Systems Embedded Web Technology http://www.agranat.com/