IPP Mail Archive: RE: IPP> IPP, independently of HTTP, Requires Chunking ? Was:

RE: IPP> IPP, independently of HTTP, Requires Chunking ? Was:

Harald Tveit Alvestrand (Harald.Alvestrand@maxware.no)
Mon, 20 Apr 1998 15:49:56 +0200

At 12:31 16.04.98 PDT, Carl-Uno Manros wrote:
>Randy et al.,
>
>Here is my take on the use of chunking for IPP:
>
>1) Each HTTP 1.1 implementation is mandated to support chunking.
Right.
>
>2) All POSTs are initiated by the client, which I assume also means that
>the client determines whether to use chunking for a particular HTTP request.
Right, as far as it goes.
And the server determines whether to use it for the response.
>
>3) The only situation where chunking is absolutely necessary for IPP, is
>the case where the client does not know the document length when it starts
>sending the document.
For the generation: Right.
For reception: Wrong. You're dependent on what the other guy does.
>
>4) With the exception of the situation in 3) the client can always decide
>not to use chunking, but send even long documents in one request. The
>downside of doing that is that if something goes wrong on the lower
>protocol layers, the client has to start over and send the whole document
>again from the beginning. The main advantage of using chunking is that if
>you get an error on the lower layers, you only have to resend the latest
>chunk, not the whole document.

Wrong.
Since TCP is a reliable transfer protocol, there is basically only one
thing that can go wrong: You lose the connection.
There is no defined mechanism in HTTP that allows you to take advantage
of the chunks you already sent when you retry the operation over a new
connection.

>5) Again, with the exception of the case in 3), you can in practise
>actually use HTTP 1.0, which does not support chunking, for most of your
>IPP transfers.
True. With one caveat:
If you depend on HTTP/1.0 without the Content-length: field to send
data, you cannot tell the difference between the client crashing in
mid-stream and the client finishing the document - both will show up
as a "connection close".

This can be annoying-but-harmless or relatively harmful, depending on
your context.

Harald A

-- 
Harald Tveit Alvestrand, Maxware, Norway
Harald.Alvestrand@maxware.no