Re: proposed solution for CONTENT-LENGTH

Jeffrey Mogul wrote:
> Change
>          2. If a Transfer-Encoding header field (section 14.40) is
>          present and indicates that the "chunked" transfer coding has
>          been applied, then the length is defined by the chunked
>          encoding (section 3.6).
> To
>          2. If a Transfer-Encoding header field (section 14.40) is
>          present and indicates that any non-identity transfer
>          coding has been applied, then the transfer-length is defined
>          by use of the "chunked" transfer coding (section 3.6),
>          unless the message is terminated by closing the connection.

Ben Laurie wrote:

    This confused me ... "indicates that any non-identity transfer coding
    has been applied" suggests that there is more than one identity transfer
    encoding but my understanding is that there is not. Would it not be
    clearer to say:
    
	      2. If a Transfer-Encoding header field (section 14.40) is
	      present and has any value other than "identity", then
              the transfer-length is defined
	      by use of the "chunked" transfer coding (section 3.6),
	      unless the message is terminated by closing the connection.
    
I think Ben's proposal makes sense, although I don't
think anyone would (or should) ever send
	Transfer-Encoding: identity

although the spec doesn't explicitly say this.  It does say
that the "identity" content-coding "SHOULD NOT be used in
Content-Encoding header", but the same statement is not repeated
with respect to the "identity" transfer-coding and Transfer-Encoding.
However, I think this was Henrik's intention, and perhaps we need
to add that statement.

At about the same time, Roy Fielding wrote:

    Is there any way to say the same thing without referring to
    "identity" as a transfer coding?  It is far less confusing to say
    "no transfer coding", in my opinion.
    
although I don't think Roy had seen Ben's message (judging from the
Date headers on their messages, if I did the math right).

Unless we are going to say that "identity" "MUST NOT be used
in a Transfer-Encoding header" then I think Ben's is the clearest
way to put things.  If we were to ban the sending of
	Transfer-Encoding: identity
then I guess we could simply say
	      2. If a Transfer-Encoding header field (section 14.40) is
	      present, then the transfer-length is defined
	      by use of the "chunked" transfer coding (section 3.6),
	      unless the message is terminated by closing the connection.
    
But I think there is no specific reason to include an outright
ban on "Transfer-Encoding: identity".

-Jeff

Received on Friday, 6 February 1998 11:52:08 UTC