信息: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
阿新 • • 發佈:2018-04-02
-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.