代码之家  ›  专栏  ›  技术社区  ›  Malax

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

  •  5
  • Malax  · 技术社区  · 15 年前

    因为我发现根据RFC,HTTP头是不区分大小写的,所以我想知道如何使用servlet以不区分大小写的方式访问HTTP头。有一个getheader(string)方法来获取一个头,但结果表明这个方法处理头字段区分大小写。

    是否有“不区分大小写”的方法来获取标题字段?或者我需要遍历所有的头字段才能找到我要查找的头字段?

    2 回复  |  直到 6 年前
        1
  •  11
  •   Jon Skeet    15 年前

    您使用哪个servlet容器?这个 docs for getHeader(String) 状态:

    头名称不区分大小写。

    所以这听起来像是你使用的容器中的一个bug。

        2
  •  1
  •   abdel    6 年前

    tomcat 8.0.24 impl-of-getheader委托给“org.apache.tomcat.util.http.mimeheaders”,后者最终调用下面的方法,然后在下面进行不区分大小写的检查

    313  public MessageBytes getValue(String name) {