Header type defaulting [i104]

This is <http://www3.tools.ietf.org/wg/httpbis/trac/ticket/104>.

Cheers,


On 27/02/2008, at 12:49 PM, Brian Smith wrote:

>
> The specification repeatedly says that "unrecognized header fields  
> are treated as
> entity-header fields": [Part 1, section 4.5], [Part 2, section 4],  
> [Part 2, section 6], [Part 3, section 4.1]. However, it also says  
> that unrecognized header fields MAY be treated as response and/or  
> request headers.
>
> The BNF for extension-header is "extension-header = message-header".
>
> Here are several issues:
>
> * In practice, applications cannot usefully classify an unrecognized  
> header, and they definitely do not treat them as entity headers.  
> Declaring them to be entity headers adds confusion with no benefit.
>
> * The BNF for extension-header matches all other header types. That  
> means that when a client includes a response-header in a request, or  
> a server includes a request-header in a response, the header is to  
> be treated as an entity header. That doesn't make any sense.
>
> PROPOSAL:
>
> * Remove the statements that say that unrecognized header fields are  
> treated as entity-header fields.
>
> * Move the extension-header definition to Part 1, and replace the  
> ABNF for Request, Response, and trailer-part:
>
>  Request       = Request-Line            ; Section 5.1
>                  *(( general-header      ; Section 4.5
>                    | request-header      ; [Part2], Section 4
>                    | entity-header       ; [Part3], Section 4.1
>                    | extension-header) CRLF)
>                  CRLF
>                  [ message-body ]        ; Section 4.3
>
>  Response      = Status-Line             ; Section 6.1
>                *(( general-header        ; Section 4.5
>                  | response-header       ; [Part2], Section 6
>                  | entity-header         ; [Part3], Section 4.1
> 			| extension-header) CRLF)
>                 CRLF
>                 [ message-body ]         ; Section 4.3
>
>  trailer-part   = *((entity-header
>                     |extension-header CRLF))


--
Mark Nottingham     http://www.mnot.net/

Received on Thursday, 28 February 2008 00:48:19 UTC