Subject: RE: Unknown and misplaced headers as entity headers

From: Henrik Nordstrom <[email-masked]>
Date: Fri, 14 Mar 2008 00:20:39 +0100

On Wed, 2008-02-27 at 05:17 -0800, Brian Smith wrote:
> What problem does this cause? When an HTTP application encounters an
> unknown header, that header would still be a request-header,
> response-header, entity-header, or general-header. The only difference
> would be that the specification doesn't try to dictate how the
> application classifies it. 

It's very important for caches to never wrongly classify an entity
header as one of the other classes as doing so may result in loss of the
header. As it's not possible to know what an unknown extension header
should be classified as the safe default is entity header unless
indicated otherwise using Connect.

Regards
Henrik

---

From: "Brian Smith" <[email-masked]>
Date: Thu, 13 Mar 2008 20:46:27 -0700

Henrik Nordstrom wrote:
> > What problem does this cause? When an HTTP application 
> > encounters an unknown header, that header would still
> > be a request-header, response-header, entity-header,
> > or general-header. The only difference would be that
> > the specification doesn't try to dictate how the 
> It's very important for caches to never wrongly classify an 
> entity header as one of the other classes as doing so may 
> result in loss of the header. As it's not possible to know 
> what an unknown extension header should be classified as the 
> safe default is entity header unless indicated otherwise 
> using Connect.

Caches already need to keep track of at least ETag and Vary, which are
not entity headers. 2616 says "Unrecognized header fields SHOULD be
ignored by the recipient and MUST be forwarded by transparent proxies,"
so the classification of an unknown header doesn't effect whether or not
it is forwarded. It also says "A transparent proxy SHOULD NOT modify an
end-to-end header unless the definition of that header requires or
specifically allows that," and all headers are end-to-end by default, so
again the classification doesn't matter.

- Brian