William A. Rowe, Jr. wrote:
At 03:57 PM 6/12/2005, Paul Querna wrote:
Justin Erenkrantz wrote:
ap_get_list_item() returns them lower-cased, avoiding this whole issue.
Relying on lowercased header names is not enough. In certain cases, the
header *values* are supposed to be rendered case-insensitively as well
(Accept-Encoding, etc.). Yet, in other cases, the header values are supposed
to be case-sensitive. =)
Ick. Do you know of a magical list of which ones are case insensitive? (I
mean, besides reading the RFC for every header..)
The majority are case insenstive if they are values (encoding etc).
Most of rfc2616 is case insensitive on header contents.
So the better solution may be to identify headers which should be
treated case-sensitive?
HTTP URI's (3.2.3) [host and scheme are insensitive]
HTTP method (5.1.1)
HTTP-date values (3.3.1)
Here's are some fun ones :)
3.7 Media Types [exerpt]
The type, subtype, and parameter attribute names are case-
insensitive. Parameter values might or might not be case-sensitive,
depending on the semantics of the parameter name.
4.20 Except [exerpt]
Comparison of expectation values is case-insensitive for unquoted
tokens (including the 100-continue token), and is case-sensitive for
quoted-string expectation-extensions.
Is your head spinning yet?
Yes, my head is spinning .
I committed a revised version of the original patch today in revision
190530. It is based on the feedback from justin on re-using the
.headers file.
I included your comments about case-sensitivity in mod_disk_cache under
a TODO.
-Paul