2009-09-04 715 views
2

因为我发现根据RFC发现HTTP头是大小写不清的,我想知道如何以Servlet的方式以不区分大小写的方式访问HTTP头。有一个#getHeader(String)方法来获得一个头,但事实证明,这种方法处理头区域区分大小写。HttpServletRequest和getHeader():如何正确处理不区分大小写的标题?

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

回答

8

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

标头名称不区分大小写。

所以它听起来像你正在使用的容器中的错误。

+0

实际上,它的Jetty 5.我会调查这个问题,感谢指向我的Java EE文档... ;-) – Malax 2009-09-04 14:44:34

+0

我认为Jetty可能要达到版本6(或7?),您可能需要看看升级。 – 2009-09-04 14:58:09

+0

对不起复活旧线程,但我只想指出,Tomcat 7.0.39也返回区分大小写的标题。 – bmauter 2013-09-24 16:29:08