Are HTTP headers (Content-Type, &c.) case-sensitiv

2019-01-23 22:49发布

This question already has an answer here:

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?

2条回答
仙女界的扛把子
2楼-- · 2019-01-23 23:20

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.

查看更多
够拽才男人
3楼-- · 2019-01-23 23:32

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.)

查看更多
登录 后发表回答