This question already has an answer here:
-
Are HTTP headers case-sensitive?
5 answers
Perhaps I'm skimming too fast, but couldn't find this specifically documented. In my particular case, I'm wondering about the "Content-Type" header, but I'm assuming the same rules would apply to other standard headers.
Are these case sensitive, and if so: Is it Content-Type
or Content-type
?
Is there a proper place to reference these?
Case-insensitive.
Hypertext Transfer Protocol -- HTTP/1.1:
4.2 Message Headers
HTTP header fields, which include general-header (section 4.5),
request-header (section 5.3), response-header (section 6.2), and
entity-header (section 7.1) fields, follow the same generic format as
that given in Section 3.1 of RFC 822 [9]. Each header field consists
of a name followed by a colon (":") and the field value. Field names
are case-insensitive.
Looks like the MIME type in a Content-type header value is case-insensitive, so application/PDF and application/pdf are equivalent. It does say parameter values are case-sensitive, so technically "text/html; charset=UTF-8" is not equivalent to "text/html; charset=utf-8". But that's not a good example because http://www.w3.org/TR/html4/charset.html#h-5.2.1 says "Names for character encodings are case-insensitive".
http://www.w3.org/Protocols/rfc1341/4_Content-Type.html
The type, subtype, and parameter names are not case sensitive. For
example, TEXT, Text, and TeXt are all equivalent. Parameter values are
normally case sensitive, but certain parameters are interpreted to be
case- insensitive, depending on the intended use. (For example,
multipart boundaries are case-sensitive, but the "access- type" for
message/External-body is not case-sensitive.)