HTTP中的字符集名称是否区分大小写?

时间:2013-10-15 21:14:40

标签: http character-encoding http-headers case-sensitive case-insensitive

这是Are HTTP headers case-sensitive?的后续行动。

在HTTP Content-Type标题中,我看到字符集名称以大写和小写形式表示。例如,对于UTF-8字符集:

Content-Type: text/html; charset=UTF-8

Content-Type: text/html; charset=utf-8

以下是一些混合大小写的变种(后两者肯定不太可能在现实世界中)

Content-Type: text/html; charset=Utf-8

Content-Type: text/html; charset=UtF-8

Content-Type: text/html; charset=uTf-8

所有表格都同样有效吗?或者,忽略字符集名称大小写的客户端和服务器应用程序是否只是灵活的?或者,那些仅识别一个表示不符合的应用程序?

1 个答案:

答案 0 :(得分:40)

[这是我研究的结果。]

RFC 2616 clause 3.4说明如下:

  

HTTP字符集由不区分大小写的标记标识。该   完整的令牌集由IANA字符集注册表定义   [19]

charset = token

现在维护 IANA字符集注册表 here。在注意下的本文档的最顶部,第二段写着:

  

字符集名称最多可包含40个字符   US-ASCII的可打印字符。但是,没有区别   在使用大写和小写字母之间。

结论:指定字符集名称时,这两个引用表明大小写无关紧要