INFO: Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Request header is too large
at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:512)
at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:501)
at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:171)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:996)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:722
我怎么能在我的春季Web应用程序中解决这个问题?
我经历过这个线程Request header is too large
解决了!我使用HTTP GET而不是HTTP POST。从技术上讲,如果URL长度超过2000个字符,我发现HttpGet会有问题。在这种情况下,最好使用HttpPost或拆分URL。浏览器的限制范围为2kb - 8kb
这是问题,HTTP标头中是否有任何限制?答案是否定的没有限制,但是即使在POST请求中,Web服务器也限制了它们的传入请求头大小,因此我们得到413(请求头太大)。此限制包括请求行和标题字段。
http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestfieldsize
https://tomcat.apache.org/tomcat-5.5-doc/config/http.html
http://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers
Maximum on http header values?
在我的情况下,我有SpringBoot 1.5.8并使用HTTP POST,但我必须添加:
server.max-http-header-size=10000000
在application.properties中。
我知道这是一个老帖子。不过我认为澄清一些内容是件好事。
它不是POST或GET,而是您的应用程序使用的Tomcat的头大小限制设置。
您始终可以使用以下app属性控制和配置它:server.tomcat.max-http-header-size = 1024
其中1024是字节。
请求和响应HTTP标头的最大大小,以字节为单位指定。如果未指定,则此属性设置为4096(4 KB)。
为避免出现Error parsing HTTP request header
错误,您可以通过执行此操作来增加以下值。
转到以下位置:$TOMCAT_HOME/conf/server.xml
在server.xml
中更改HTTP/1.1 Connector
条目并将maxHttpHeaderSize
设置为“65536”(64Kb,以字节为单位),如下所示:
<Connector port="8080" maxHttpHeaderSize="65536" protocol="HTTP/1.1" ... />
要么
根据Tomcat,您可以使用POST方法,它最多可以携带2兆字节。
POST的最大大小(以字节为单位)将由容器FORM URL参数解析处理。可以通过将此属性设置为小于或等于0的值来禁用该限制。如果未指定,则此属性设置为2097152(2兆字节)。
希望这些信息可以帮到你..