Spec-Zone.ru › OpenJDK 21

Модуль java.net.http

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

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

Ниже приведен список системных сетевых свойств, используемых реализацией 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. Вы можете переопределить это поведение с помощью этого свойства. Имена регистронезависимые, пробелы игнорируются. Обратите внимание, что это свойство предназначено для тестирования, а не для реальных развертываний. Вероятно, при использовании этого свойства будут возникать ошибки протокола или другие неопределённые ошибки. Может быть и другие заголовки, которые запрещено задавать в зависимости от контекста. Это включает заголовок «Authorization», когда соответствующий HttpClient имеет заданного провайдера аутентификации. Эти ограничения невозможно переопределить с помощью этого свойства.

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

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

  • jdk.httpclient.connectionWindowSize (значение по умолчанию: 2^26)
    Размер окна подключения клиента HTTP/2 в байтах. Максимальный размер составляет 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.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 в байтах.

  • 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.

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

Пакеты

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

© 1993, 2023, 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/21/docs/api/java.net.http/module-summary.html

Spec-Zone.ru

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