- 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