1. 程式人生 > >信息: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.

信息: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.

-s 報錯 所在 url 提交 出現問題 clas 進行 一行

Error parsing HTTP request header

最近在做一個SpringMvc項目的時候報錯,錯誤如下:

信息: Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.

顯示錯誤的HTTP請求頭,這裏就很郁悶了,之前出現這個問題是因為提交數據超過了定義的header頭內容,

那時候已經把tomcat中server.xml的maxHttpHeaderSize設置得足夠大了,為什麽還會出現問題。

後來終於發現問題,原來是json傳輸的時候包含了{},這就是原因所在。因為tomcat7某個版本之後,

增加了一個新特性,就是嚴格按照 RFC 3986規範進行訪問解析,而 RFC 3986規範定義了Url中

只允許包含英文字母(a-zA-Z)、數字(0-9)、-_.~4個特殊字符

以及所有保留字符(RFC3986中指定了以下字符為保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。

解決方法其實很簡單,可以通過修改tomcat的catalina.properties的最後一行改為

tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}

允許{}即可。

信息: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.