getcontentlength property

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

getcontentlength property

Werner Donné

Hi,

RFC 2518 says that the getcontentlength property is mandatory if
the resource returns the Content-Length header in response to a GET.

In a servlet container you don't always know if that header will
be in the response. Normally a document is streamed to the response
body. The container sees this because of the intermediate flushes.
It will then use the chunked transfer encoding. It can be, however,
that the document is smaller than the internal streaming buffer.
There are no intermediate flushes then and the container may choose
to not use a transfer encoding, in which case the Content-Length
header will be set.

It is also an expensive operation if the document is versioned and
must be reconstructed from a delta file.

Regards,

Werner.
--
Werner Donné  --  Re
Engelbeekstraat 8
B-3300 Tienen
tel: (+32) 486 425803 e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: getcontentlength property

Julian Reschke

Werner Donné wrote:

> Hi,
>
> RFC 2518 says that the getcontentlength property is mandatory if
> the resource returns the Content-Length header in response to a GET.
>
> In a servlet container you don't always know if that header will
> be in the response. Normally a document is streamed to the response
> body. The container sees this because of the intermediate flushes.
> It will then use the chunked transfer encoding. It can be, however,
> that the document is smaller than the internal streaming buffer.
> There are no intermediate flushes then and the container may choose
> to not use a transfer encoding, in which case the Content-Length
> header will be set.
>
> It is also an expensive operation if the document is versioned and
> must be reconstructed from a delta file.

Agreed, there are cases where a WebDAV server implementor simply doesn't
have any control over this. Therefore the MUST level requirement should
be relaxed to a SHOULD.

Best regards, Julian

(cc:ing the WebDAV WG mailing list, because this happens not to be a
Versioning question)