HttpServletRequest和getHeader():如何正确处理不区分大小写的标头?

时间:2009-09-04 14:33:15

标签: java servlets http-headers

由于我发现根据RFC,HTTP标头是大小写密集的,我想知道如何使用Servlet以不区分大小写的方式访问HTTP标头。有一个#getHeader(String)方法来获取头,但事实证明这个方法将头字段区分大小写。

是否有“不区分大小写”的方式来获取标题字段?或者我是否必须遍历所有标题字段以查找我正在寻找的标题字段?

2 个答案:

答案 0 :(得分:13)

您使用的是哪个servlet容器? docs for getHeader(String)州:

  

标题名称不区分大小写。

所以这听起来像是你正在使用的容器中的一个错误。

答案 1 :(得分:2)

tomcat 8.0.24 getLeader的impl委托给​​'org.apache.tomcat.util.http.MimeHeaders',它最终调用下面的方法,然后进行不区分大小写的检查

313  public MessageBytes getValue(String name) {