On 03/18/2010 09:40 PM, Amos Jeffries wrote: > noor nashid wrote: >> And thirdly I want to download a whole page in Squid, and then I want >> to transfer that to the other side (i.e. to the browser/client) using >> a single HTTP pipelined connection. Suppose we are browsing >> http://www.squid-cache.org/ . Here I shall gather all objects of the >> website and then I shall respond back to the client using a single TCP >> connection. The point here is not open a TCP connection for each object. > > As I understand it pipelining in HTTP is something different. > > Persistent connections (what you describe) are already available in > Squid for both single TCP link to server and to client. Most browsers > attempt to use them. As does Squid. The handicap appears to be web > Servers not adding Content-Length information to all responses. > > I believe this server problem can best be resolved by doing > chunked-encoding of the unknown length objects to HTTP/1.1 clients. > Removing the need to close the client connection when the object finishes. > > Squid is about to start sending HTTP/1.1 responses to clients now. Which > removes the final blocking obstacle to doing chunked encoding inside Squid. > > Chunked transfers was a measurement factory project. Before starting it > would be best to contact Alex and see if they already have the encoding > part underway or not.
I am not sure what you mean by "chunked transfers" in the context of this email. Squid already supports chunked bodies on both client and server sides. The only limitation that chunked requests are still buffered whole before being processed. There is a piece of commented out code that does not buffer chunked requests. It can be polished and enabled now since we started talking HTTP/1.1 to servers (but I think we still need to figure out how not to send chunked requests to HTTP/1.0 servers). Alex.
