Semantics of Accept header with no value


I'm writing HTTP proxy software and there's a detail of RFC 2616 that I
don't understand. Many headers (e.g. Accept-Encoding, Accept-Charset) have
grammar of the form 1#(...). However, there are two headers - Accept and TE
- that have grammar of the form #(...).

This difference seems to mean that an Accept header with no value is
explicitly allowed and, therefore, that it has different semantics from a
request with no Accept header at all. What are these semantics? As far as I
can make out, a request with Accept: present but with no value should just
result in a 406 Not Acceptable response. (Of course, some servers ignore the
request Accept header entirely.)

Thanks in advance,

Daniel Armak

Received on Friday, 5 November 2010 13:04:55 UTC