Как увеличить максимальный размер заголовка для автономного сервера GraphDB?

Я запустил graphdb следующим вызовом:

/usr/local/graphdb-free-9.4.0/bin/graphdb -Xms60g -Xmx60g -Dgraphdb.connector.port=7200 -s

При доступе через HTTP некоторые более длинные запросы генерируют 400 ошибок:

Type Exception Report

Message Request header is too large

Description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).

Как запустить сервер, чтобы принимались заголовки произвольного размера.


person mkk    schedule 29.09.2020    source источник
comment
вы должны использовать запрос POST для длинных запросов. Вы уже делаете это?   -  person UninformedUser    schedule 29.09.2020
comment
Метод POST следует использовать в тех случаях, когда длина запроса (в кодировке URL) превышает практические ограничения прокси, серверов и т. д. В случае использования запроса POST параметры запроса должны быть отправлены на сервер как www-form-urlencoded данные. (archive.rdf4j.org/system/ch08.html)   -  person UninformedUser    schedule 29.09.2020
comment
Спасибо @UninformedUser! Можете ли вы объяснить разницу между Content-Type и Accept для заголовка POST? Когда Accept предоставляется в контексте запроса, Content-Type кажется избыточным.   -  person mkk    schedule 29.09.2020
comment
Меня смущает следующий пример в спецификации (раздел 3.1.1), который показывает POST-запрос без заголовка Accept: w3.org/TR/sparql11-protocol. По сравнению с документацией rdf4j (10.4.1.2), которая показывает запрос POST с обоими Accept и Content-Type: archive.rdf4j.org/users/ch10.html   -  person mkk    schedule 29.09.2020
comment
Хорошо, нм похоже, что заголовок Content-Type указывает тело запроса, которое в данном случае является URL-кодированием самого SPARQL, тогда как заголовок Accept указывает формат ответа для POST-запроса.   -  person mkk    schedule 29.09.2020


Ответы (1)


Максимальный размер HTTP-заголовка запроса и ответа, указанный в байтах, если он не указан, равен 4096 (4 КБ). Сообщение об ошибке «Заголовок запроса слишком большой» связано с тем, что автоматически сгенерированный запрос слишком велик. Вы можете изменить атрибут Tomcat maxHttpHeaderSize, добавив в файл graphdb.properties ниже.

graphdb.connector.maxHttpHeaderSize = 65536

person Konstantin Petrov    schedule 30.09.2020