Подтвердить что ты не робот

Ограничьте длину данных, которые веб-сервер может вернуть в ответ на запрос GET

У меня есть служба REST, работающая на сервере причалов, которая отвечает на запросы GET с некоторыми данными о ресурсах. Пока данные, которые я получаю, были в порядке нескольких килобайт. Я ищу использовать аналогичную службу REST, которая может вернуть огромные данные, может быть 100 мб или более. Ожидаются проблемы с памятью, так как объем запросов невелик, и оба процесса клиента сервера причала и отдыха настроены с достаточной памятью.

Мне интересно, ограничивает ли пристань или любой веб-сервер ограничение длины данных, которое он может вернуть клиенту в ответ на GET. Если это так, настраивается ли он в причале?

4b9b3361

Ответ 1

Оригинальный ответ:

Нет ограничений на количество данных, возвращаемых в ответе HTTP от Jetty.

Вы можете передавать данные обратно клиенту, пока незадолго до тепловой смерти вселенной.

Технически говоря, вы можете получить HTTP-ответ без указания Content-Length, который можно вернуть с помощью Chunked Transfer-Encoding или просто необработанного потока байтов с Connection: close, указывающим, когда данные завершено (сделано отправленным) закрытием основного соединения. Оба из них по существу безлимитные.

Если вы используете HTTP-ответ с заголовком Content-Length, имейте в виду, что Content-Length на практике представляет собой 32-разрядное число, но более современные браузеры поддерживают 64-разрядные версии.

Обновление (август 2019 г.):

Jetty 9.4.20.v20190813 теперь может обрабатывать заголовки Content-Length максимального размера Long.MAX_VALUE (9,223,372,036,854,775,807 байт)