Spec-Zone.ru › OpenJDK 24

Модуль java.net.http

модуль 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)
    Максимальное количество подключений для сохранения в кэше HTTP/1.1 keep-alive. Значение 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)
    Включить HTTP/2 push promise. Значение 1 включает push promise; значение 0 его отключает.

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

  • jdk.httpclient.HttpClient.log (значение по умолчанию: none)
    Включает протоколирование высокого уровня различных событий через 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 Decoder во время декодирования всего раздела поля заголовка. Это чистое ограничение реализации. Если peer отправляет раздел поля с кодированием, превышающим это ограничение, будет вызвано исключение ProtocolException. Значение 0 или отрицательное значение означает отсутствие ограничения.

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

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

  • 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)
    Количество попыток, которые фильтр аутентификации Basic предпримет, чтобы повторить не удавшуюся аутентификацию.

  • 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 байта для каждой строки раздела поля. Если peer отправляет раздел поля, превышающий этот размер, будет вызвано исключение ProtocolException. Это относится ко всем версиям протокола. Значение 0 или отрицательное значение означает отсутствие ограничения.

Граф модулей:
Module graph for java.net.httpModule graph for java.net.http
С момента:
11

Пакеты

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

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

Spec-Zone.ru

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