Spec-Zone.ru › OpenJDK 25

Модуль java.net.http

module java.net.http
Определяет API HTTP-клиента и WebSocket.

Системные свойства, используемые API java.net.http

Ниже приведен список системных сетевых свойств, используемых реализацией клиента java.net.http в JDK. Если свойству ниже, принимающему числовое значение, задана строка, которую не удается преобразовать в число, используется значение по умолчанию. Если ниже не указано иное, все значения можно задать в файле conf/net.properties. Во всех случаях значения можно указать как системные свойства в командной строке; в этом случае любые значения в conf/net.properties переопределяются. Не гарантируется, что значения свойств можно задать программно с помощью System.setProperty(). Другие реализации этого API могут не поддерживать эти свойства.

  • jdk.httpclient.allowRestrictedHeaders (по умолчанию: см. ниже)
    Разделенный запятыми список имен обычно запрещенных заголовков HTTP, которые пользователи могут задавать в HTTP-запросах или в коде пользователя в экземплярах HttpRequest. По умолчанию код пользователя не может задавать следующие заголовки запроса: connection, content-length, expect, host и upgrade. Это поведение можно изменить с помощью данного свойства. Имена не зависят от регистра, пробелы игнорируются. Обратите внимание, что это свойство предназначено для тестирования, а не для использования в реальных условиях. При использовании этого свойства могут возникнуть ошибки протокола или другое неопределенное поведение. В зависимости от контекста могут существовать и другие заголовки, которые запрещено задавать. Эти ограничения нельзя отменить с помощью данного свойства.

  • jdk.httpclient.bufsize (по умолчанию: 16384 байта или 16 кБ)
    Размер внутренних выделяемых буферов в байтах.

  • jdk.httpclient.connectionPoolSize (по умолчанию: 0)
    Максимальное количество соединений, сохраняемых в кэше keep-alive HTTP/1.1. Значение 0 означает, что размер кэша не ограничен.

  • jdk.httpclient.connectionWindowSize (по умолчанию: 2^26)
    Размер окна соединения клиента HTTP/2 в байтах. Допустимые значения находятся в диапазоне [2^16-1, 2^31-1]. Если указано недопустимое значение, используется значение по умолчанию. Реализация гарантирует, что фактическое значение будет не меньше размера окна потока, который можно настроить с помощью системного свойства jdk.httpclient.windowsize.

  • jdk.httpclient.disableRetryConnect (по умолчанию: false)
    Определяет, отключены ли автоматические повторы при сбоях соединения. Если значение равно false, выполняются повторные попытки (с учетом ограничения на их количество).

  • jdk.httpclient.enableAllMethodRetry (по умолчанию: false)
    Определяет, разрешено ли автоматически повторять HTTP-запросы, не являющиеся идемпотентными.

  • jdk.httpclient.enablepush (по умолчанию: 1)
    Определяет, включена ли функция push promise в HTTP/2. Значение 1 включает push promise, значение 0 отключает ее.

  • jdk.httpclient.hpack.maxheadertablesize (по умолчанию: 16384 или 16 кБ)
    Максимальный размер таблицы заголовков HPACK клиента HTTP/2 в байтах.

  • jdk.httpclient.HttpClient.log (по умолчанию: нет)
    Включает подробное журналирование различных событий с помощью API журналирования платформы. Значение содержит разделенный запятыми список любых из следующих элементов:

    • errors
    • requests
    • headers
    • content
    • frames
    • ssl
    • trace
    • channel

    К элементу frames можно добавить разделенный двоеточиями список любых из следующих элементов:
    • control
    • data
    • window
    • all

    Указанный элемент добавляется в журнал HTTP-клиента. Например, если указать следующее значение, API журналирования платформы будет регистрировать все возможные события HTTP-клиента:
    "errors,requests,headers,frames:control:data:window,ssl,trace,channel"
    Обратите внимание, что control:data:window можно заменить на all. Имя регистратора — "jdk.httpclient.HttpClient", все записи журнала создаются на уровне INFO.
  • jdk.httpclient.keepalive.timeout (по умолчанию: 30)
    Количество секунд, в течение которых неактивные HTTP-соединения сохраняются в кэше keep-alive. Это свойство применяется как к HTTP/1.1, так и к HTTP/2. Значение для HTTP/2 можно переопределить с помощью свойства jdk.httpclient.keepalive.timeout.h2 property.

  • jdk.httpclient.keepalive.timeout.h2 (по умолчанию: см. ниже)
    Количество секунд, в течение которых сохраняются неактивные соединения HTTP/2. Если значение не задано, используется значение свойства jdk.httpclient.keepalive.timeout.

  • jdk.httpclient.maxframesize (по умолчанию: 16384 или 16 кБ)
    Максимальный размер кадра клиента HTTP/2 в байтах. Серверу запрещено отправлять кадры большего размера.

  • jdk.httpclient.maxLiteralWithIndexing (по умолчанию: 512)
    Максимальное количество строк полей заголовка (пар «имя заголовка — значение»), которые клиент готов добавить в динамическую таблицу декодера HPack при декодировании всей секции полей заголовка. Это исключительно ограничение реализации. Если узел отправляет секцию полей с кодированием, превышающим этот предел, будет выброшено исключение ProtocolException. Значение 0 или отрицательное значение означает отсутствие ограничения.

  • jdk.httpclient.maxNonFinalResponses (по умолчанию: 8)
    Максимальное количество промежуточных (неокончательных) ответов, которые клиент готов принять в потоке запрос-ответ до получения окончательного ответа. Промежуточные ответы имеют код состояния в диапазоне [100, 199] включительно. Это исключительно ограничение реализации. Если узел отправит до окончательного ответа количество промежуточных ответов, превышающее это ограничение, будет выброшено исключение ProtocolException. Значение 0 или отрицательное значение означает отсутствие ограничения.

  • jdk.httpclient.maxstreams (по умолчанию: 100)
    Максимальное количество потоков push HTTP/2, которые клиент разрешает серверам открывать одновременно.

  • jdk.httpclient.receiveBufferSize (по умолчанию: значение по умолчанию операционной системы)
    Размер сокетного буфера приема HTTP-клиента в байтах. Значения меньше или равные нулю игнорируются.

  • jdk.httpclient.redirects.retrylimit (по умолчанию: 5)
    Максимальное количество попыток отправить HTTP-запрос при перенаправлении или любом сбое по любой причине.

  • jdk.httpclient.websocket.writeBufferSize (по умолчанию: 16384 или 16 кБ)
    Размер буфера, используемого реализацией WebSocket для записи в сокет.

  • jdk.httpclient.windowsize (по умолчанию: 16777216 или 16 МБ)
    Размер окна потока клиента HTTP/2 в байтах. Допустимые значения находятся в диапазоне [2^14, 2^31-1]. Если указано недопустимое значение, используется значение по умолчанию.

  • jdk.httpclient.auth.retrylimit (по умолчанию: 3)
    Количество попыток повторной аутентификации, выполняемых фильтром базовой аутентификации после неудачной попытки.

  • jdk.httpclient.sendBufferSize (по умолчанию: значение по умолчанию операционной системы)
    Размер сокетного буфера отправки HTTP-клиента в байтах. Значения меньше или равные нулю игнорируются.

  • jdk.internal.httpclient.disableHostnameVerification (по умолчанию: false)
    Если значение равно true (или задана пустая строка), проверка имени узла в сертификатах SSL отключается. Это только системное свойство, недоступное в conf/net.properties. Оно предназначено исключительно для тестирования.

  • jdk.http.auth.proxying.disabledSchemes (по умолчанию: см. conf/net.properties)
    Разделенный запятыми список имен схем HTTP-аутентификации, использование которых реализацией HTTP-клиента запрещено при работе с HTTP-прокси.

  • jdk.http.auth.tunneling.disabledSchemes (по умолчанию: см. conf/net.properties)
    Разделенный запятыми список имен схем HTTP-аутентификации, использование которых реализацией HTTP-клиента запрещено для туннелирования HTTP CONNECT.

  • jdk.http.maxHeaderSize (по умолчанию: 393216 или 384 кБ)
    Максимальный размер секции полей заголовка, которую клиент готов принять. Он вычисляется как сумма размера несжатого имени заголовка, размера несжатого значения заголовка и накладных расходов в размере 32 байт для каждой строки секции полей. Если узел отправит секцию полей, превышающую этот размер, будет выброшено исключение ProtocolException. Это ограничение применяется ко всем версиям протокола. Значение 0 или отрицательное значение означает отсутствие ограничения.

Граф модулей:
Module graph for java.net.httpModule graph for java.net.http
Начиная с:
11

Пакеты

Пакет Описание
java.net.http
API HTTP-клиента и WebSocket

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, где приведены более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/java.net.http/module-summary.html

Spec-Zone.ru

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