Заголовок JAVA-tomcat-Request слишком велик
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
Как я могу решить это в своем веб-приложении spring?
Я прошел через эту нить заголовок запроса слишком большой
4 ответов
решена! Я использовал HTTP GET вместо HTTP POST. Технически я видел, что HttpGet будет иметь проблему, если длина URL-адреса превышает 2000 символов. В этом случае лучше использовать HttpPost или разделить URL-адрес. Браузеры имеют ограничения в диапазоне от 2kb-8kb
Я знаю, это старый пост. Однако я думаю, что хорошо бы прояснить некоторые моменты.
- используя _SERVER для.кот.параметр max-http-header-size=max_wanted_size_ вы измените сервер, чтобы принять до max_wanted_size, но даже если вы установите значение 10 МБ, браузер сократит ваш запрос до предельного размера браузера. Я пробовал в chrome, и это, кажется, около 150-200kb.
- на java.ленг.IllegalArgumentException происходит на сервере и это не имеет никакого отношения к браузеру. Следовательно, изменение сервера.кот.max-http-header-size должен быть достаточно хорошим, и это происходит при использовании метода GET, но это также может произойти при использовании метода POST (в случае POST параметр maxPostSize должен быть изменен).
вот вопрос, есть ли ограничение в заголовках HTTP? Ответ:нет. есть нет лимит но веб-серверы ограничивают размер заголовка входящего запроса даже в запросах POST, поэтому мы получаем 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
максимальное значение заголовка http?
в моем случае у меня был SpringBoot 1.5.8 и использовал HTTP POST, однако мне пришлось добавить:
server.max-http-header-size=10000000
in приложение.свойства.
речь идет не о POST или GET, а скорее о настройке ограничения размера заголовка для Tomcat, используемого вашим приложением.
вы всегда можете контролировать и настраивать это с помощью свойств приложения, как показано ниже: сервер.кот.max-http-header-size=1024
где 1024 в байтах.