了解“请求标头太大”

时间:2020-02-24 16:36:14

标签: java http tomcat http-headers

我在Tomcat中收到此错误

org.apache.coyote.http11.Http11Processor.service 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.Http11InputBuffer.parseHeaders(Http11InputBuffer.java:583)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:703)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)

我想理解文本further occurrences of HTTP header parsing errors will be logged at DEBUG level。这是否意味着将在某个时间范围内抑制解析错误,或者仅针对特定请求抑制解析错误。谁能给我这个含义的权威来源?

1 个答案:

答案 0 :(得分:1)

这与消息中所说的完全一样。此错误的所有其他实例将在DEBUG级别记录。不适用于该请求,并且可以使用一段时间。从现在到时间的尽头。或下次服务器重新启动时,以先到者为准。

您可以在1144行的源代码中看到这一点: https://github.com/apache/tomcat/blob/7.0.x/java/org/apache/coyote/http11/AbstractHttp11Processor.java