- From: Adrien de Croy <adrien@qbik.com>
- Date: Thu, 05 Jun 2008 22:34:56 +1200
- To: Robert Siemer <Robert.Siemer-httpwg@backsla.sh>
- CC: Yves Lafon <ylafon@w3.org>, Henrik Nordstrom <henrik@henriknordstrom.net>, Julian Reschke <julian.reschke@gmx.de>, Jamie Lokier <jamie@shareable.org>, Joe Orton <joe@manyfish.co.uk>, Mark Nottingham <mnot@mnot.net>, Brian Smith <brian@briansmith.org>, ietf-http-wg@w3.org
connection closure only signals end of message if the message had no Content-Length header, and was not chunked. Otherwise, if there is a Content-Length header, (and not chunked) then the message is complete when the number of bytes indicated have been received. The connection can then be kept open (classic Connection: keep-alive without chunking). Otherwise with chunking a message is only complete if you receive a terminating chunk (specified chunk length 0). It's commonly not practical for a proxy to retry on truncation. E.g if it has been spooling data through in the meantime, and gets a premature closure, with a retry it can't guarantee the same entity. Plus the information that the connection was aborted is information the client may want. Therefore it makes sense for the proxy to simply abortively close the connection to the client and let the client deal with it, that then conveys the (useful) information to the client that the transfer was aborted. So IMO the proxy should not retry, as this can cause confusion for clients - and clients are generally equipped to retry anyway, but with some visual indication to a user obviously this only goes for the small proportion of clients that are browsers with humans operating them. Robert Siemer wrote: >>>> But one question stays: should a client/proxy retry if it detects a >>>> truncated message? - As I read RFC2616: yes (especially if the method is >>>> safe). >>>> >>> Perfectly fine for user agents, but not so sure about proxies. But the >>> partial response MAY be cached and completed using range requests. >>> >> Ok, so if the proxy gets a reply using connection closure to signal the >> end of the reply, should the proxy always treat this as an incomplete >> transaction? >> > > Of course not (as the proxy can not detect truncated messages this way). > > > Robert > > -- Adrien de Croy - WinGate Proxy Server - http://www.wingate.com
Received on Thursday, 5 June 2008 10:33:59 UTC