Модуль jdk.httpserver
Пакет com.sun.net.httpserver определяет высокоуровневый API для создания серверов, поддерживающих HTTP и HTTPS. Класс SimpleFileServer реализует простой файловый сервер только для HTTP, предназначенный для тестирования, разработки и отладки. Реализация по умолчанию предоставляется с помощью инструмента jwebserver и главной точки входа модуля, которую также можно вызвать с помощью java -m jdk.httpserver.
Пакет com.sun.net.httpserver.spi определяет интерфейс поставщика служб (SPI) для поиска реализаций HTTP-сервера на основе API com.sun.net.httpserver.
Системные свойства, используемые API HTTP-сервера
Ниже приведен список системных свойств, специфичных для JDK, используемых реализацией HTTP-сервера JDK по умолчанию. Для любых перечисленных ниже свойств, принимающих числовое значение, используется значение по умолчанию, если задана строка, которую невозможно преобразовать в число.
sun.net.httpserver.idleInterval(по умолчанию: 30 сек)
Максимальная продолжительность в секундах, в течение которой неактивное соединение остается открытым. Точность этого таймера зависит от реализации, поэтому неактивные соединения могут закрываться позже указанного интервала. Значения, меньшие или равные нулю, заменяются значением по умолчанию.jdk.httpserver.maxConnections(по умолчанию: -1)
Максимальное количество одновременно открытых соединений. Сюда входят активные и неактивные соединения. Если значение равно нулю или отрицательное, ограничение не применяется.sun.net.httpserver.maxIdleConnections(по умолчанию: 200)
Максимальное количество одновременно неактивных соединений. Если задано нулевое или отрицательное значение, соединения закрываются после использования.sun.net.httpserver.drainAmount(по умолчанию: 65536)
Максимальное количество байтов, которое будет автоматически прочитано и отброшено из тела запроса, не полностью обработанного егоHttpHandler. Если количество оставшихся непрочитанных байтов меньше этого предела, соединение помещается в кэш неактивных соединений. В противном случае оно закрывается.sun.net.httpserver.maxReqHeaders(по умолчанию: 200)
Максимальное количество полей заголовка, принимаемых в запросе. Если этот предел превышен во время чтения заголовков, соединение прерывается, а запрос игнорируется. Если значение меньше или равно нулю, используется значение по умолчанию.sun.net.httpserver.maxReqHeaderSize(по умолчанию: 393216 или 384 кБ)
Максимальный размер секции полей заголовка, который сервер готов принять. Он вычисляется как сумма размера имени заголовка, размера значения заголовка и 32 байтов накладных расходов для каждой строки секции полей. Строка запроса считается первой строкой секции полей, где имя пустое, а значение — вся строка. Если этот предел превышен во время чтения заголовков, соединение прерывается, а запрос игнорируется. Если значение меньше или равно нулю, ограничение не устанавливается.sun.net.httpserver.maxReqTime(по умолчанию: -1)
Максимальное время в миллисекундах, отведенное на получение заголовков и тела запроса. На практике фактическое время зависит от размера запроса, скорости сети и задержек при обработке обработчиком. Значение, меньшее или равное нулю, означает, что время не ограничено. Если предел превышен, соединение прерывается, а обработчик получаетIOException. Точность этого таймера зависит от реализации, поэтому запросы могут прерываться позже указанного интервала.sun.net.httpserver.maxRspTime(по умолчанию: -1)
Максимальное время в миллисекундах, отведенное на получение заголовков и тела ответа. На практике фактическое время зависит от размера ответа, скорости сети и задержек при обработке обработчиком. Значение, меньшее или равное нулю, означает, что время не ограничено. Если предел превышен, соединение прерывается, а обработчик получаетIOException. Точность этого таймера зависит от реализации, поэтому ответы могут прерываться позже указанного интервала.sun.net.httpserver.nodelay(по умолчанию: false)
Логическое значение, которое при значении true задает параметр сокетаTCP_NODELAYдля всех входящих соединений.
- Примечание API:
- API и SPI этого модуля разработаны и реализованы прежде всего для поддержки минимального HTTP-сервера и простой семантики HTTP.
- Примечание по реализации:
- Реализация HTTP-сервера по умолчанию, предоставляемая этим модулем, предназначена для простых задач, таких как локальное тестирование, разработка и отладка. Поэтому конструкция и реализация сервера не предполагают, что он будет полнофункциональным высокопроизводительным HTTP-сервером.
- Граф модулей:
- Руководства по инструментам:
- jwebserver
- Начиная с версии:
- 9
Пакеты
| Пакет | Описание |
|---|---|
| com.sun.net.httpserver | Предоставляет простой высокоуровневый API HTTP-сервера, который можно использовать для создания встраиваемых HTTP-серверов. |
| com.sun.net.httpserver.spi | Предоставляет подключаемый интерфейс поставщика служб, позволяющий заменить реализацию HTTP-сервера другими реализациями. |
Службы
| Тип | Описание |
|---|---|
| HttpServerProvider | Класс поставщика служб для HttpServer. |
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.httpserver/module-summary.html