- From: Jeffrey Mogul <mogul@pa.dec.com>
- Date: Fri, 22 Sep 95 13:27:49 MDT
- To: Paul Leach <paulle@microsoft.com>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
In order of goodness, I would think one could order the protocols as follows: 1. Today -- 1 connection per request 2. persistent connections 3. persistent connections with pipelining 4. persistent connections with pipelining with interleaved responses. The distinction between #2 and #3 may be somewhat artificial. In the sense that even if one didn't define pipelining in the protocol, one could still do it in the following way: a. Send request b. Receive first buffer(s) of response; enough to see that no further negotiation (e.g., authentication) or other packet exchanges are required for this request. c. Send next request (perhaps based on the contents of the immediatelty or some other previous response) And a proper, timing independent, implementation would accept it and process it correctly -- it wouldn't necessarily even notice that the second request was sent before the first had completed. This is, in fact, exactly what Venkat Padmanabhan implemented for me last summer, except that we skipped step (b). That is, we just dumped all the requests into the connection, without any attempt to see if negotiation is required. Presumably, the first request from a server would usually be for a simple HTML file, which cannot easily be pipelined, and authentication would take place at that point. One could improve bandwidth usage somewhat by defining a GETLIST method to replace a series of GET requests. This probably isn't a big win, though. -Jeff
Received on Friday, 22 September 1995 13:41:09 UTC