- From: Anselm Baird_Smith <Anselm.Baird_Smith@sophia.inria.fr>
- Date: Wed, 27 Aug 1997 11:13:00 +0200 (MET DST)
- To: stav@radview.com
- Cc: jigsaw mailing list <www-jigsaw@w3.org>
Yael Stav writes: > To all jigsaw fans, > > In a previous message I sent to the mailing list, I mentioned a problem > in using jigsaw as a proxy (client side): > Requesting specific URL's results in a "Document contains no data" from > the browser. > > I think we eventually figured out what the problem was: > When the HTTP response is HTTP/1.1 and has no Content-Length Jigsaw is > supposed to wait for the server (who owns that resource) to close the > connection. > The problem is that Jigsaw closes the connection by itself instead. > Notice that w3c.www.protocol.http.Reply calls in that case (no > content-length, no > "chunked" input stream but still HTTP/1.1) the notifyFailure() method. > of HttpBasicConnection.java: > > public synchronized void notifyFailure(InputStream in) { > > markIdle(true); > } > > The call to markIdle(true) will close the socket, free all data > structures of the connection, > and delete the connection from the server. I think it should ONLY delete > it from the > server (for it cannot be reused). > Hence: > > public synchronized void notifyFailure(InputStream in) { > > ((HttpBasicServer) server).deleteConnection(this); > } > > This code change does fixes the problem, still I'd like to have some > confirmation about it, since I would not like to damage anything else. The real problem - as I understand it - is that a 1.1 reply MUST have either a content length or a transfer of chunk encoding. That's why Jigsaw takes the "appropriate" action to close the connection (since it doesn't respect the 1.1 specification). If I am correct that's a bug in the server emitting that reply. Anselm.
Received on Wednesday, 27 August 1997 05:13:09 UTC