Spec-Zone.ru › OpenJDK 24

Модуль jdk.httpserver

module jdk.httpserver
Определяет API сервера HTTP, специфичный для JDK, и предоставляет инструмент jwebserver для запуска минимального сервера HTTP.

Пакет 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)
    Булево значение, которое, если истинно, устанавливает TCP_NODELAY параметр сокета для всех входящих соединений.

Граф модулей:
Module graph for jdk.httpserverModule graph for jdk.httpserver
Руководства по инструментам:
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://download.java.net/java/early_access/jdk24/docs/api/jdk.httpserver/module-summary.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API