- From: Joris Dobbelsteen <j.p.tdobbelsteen@freeler.nl>
- Date: Sat, 13 May 2000 13:10:13 +0200
- To: "'Matthew Delco'" <delco@CS.Berkeley.EDU>
- Cc: "WWW WG (E-mail)" <www-talk@w3.org>
What may be a solution for now on, is that a client ONLY sends a second request if it knows that the first won't take to much time, is not to large. Maybe the proxy should also send "connection: close" if it already thinks the request is going to take a long time. If the connection is going to be closed, subsequent requests are not fulfilled by the proxy using the currenct connection, they should be reissued on another connection or later on. Thereby maybe that an more extended chunked transfer may be the solution in future... Joris -----Original Message----- From: Matthew Delco [mailto:delco@CS.Berkeley.EDU] Sent: vrijdag 12 mei 2000 20:45 To: Jeffrey Mogul Cc: http-wg@cuckoo.hpl.hp.com Subject: Re: persistent conncetion HOL blocking > The same paragraph says: > A single-user client SHOULD NOT maintain more than 2 connections > with any server or proxy. > > The reasoning behind that requirement is related to a kind of > head-of-line blocking. Although, in the case of a proxy if a client is trying to get requests from a number of different servers, through the same persistent connection to a proxy, then it's not too difficult to get in a situation where a proxy can't immediately return a response to the client because it's not ready or able to reply to a previous request (on that same connection) from the client. For example, a client could pipeline requests to a.com and b.com through a proxy. b.com might be fast and reply right away to the proxy, but the proxy can't forward the data to the client because a.com hasn't replied yet (and thus the response from b.com must be queued). Even though the client can maintain two connections to the proxy, this doesn't eliminate the problem (although it does make it less likely). The problem can also because worse in the case where b.com is cached by the proxy (or a delta [i.e., "IM:" header ] can be computed for b.com), but a.com is not cached. Adjusting HTTP so that responses can be returned back in a different order from requests would be one way to address the issue. It would also be useful in the case where two requests are made to the same server, and the second request can be serviced much sooner than the first request (e.g., the first request might be some sort of CGI request). In the case of a significant amount of pipelining, the feature would also give a server the ability to choose the best order in which to produce responses (e.g., long MP3s last). I'm personally not a fan of "enhancing" protocols, so I'm interested in any suggestions that people might have for working within the current confines of HTTP. MD
Received on Saturday, 13 May 2000 07:09:21 UTC