模块 java.net.http
java.net.http API 使用的系统属性
以下是 JDK 中的 java.net.http 客户端实现使用的系统网络属性列表。如果给定一个不解析为数字的字符串,则以下任何采用数字值的属性均采用默认值。除非下面另有说明,否则所有值都可以在 conf/net.properties
文件中设置。在所有情况下,值都可以在命令行上指定为系统属性,在这种情况下,conf/net.properties
中的任何值都会被覆盖。不保证可以使用 System.setProperty()
以编程方式设置属性值。此 API 的其他实现可能选择不支持这些属性。
jdk.httpclient.allowRestrictedHeaders
(默认:see below)
通常受限制的 HTTP 标头名称的逗号分隔列表,用户可以在 HTTP 请求中设置或由 HttpRequest 实例中的用户代码设置。默认情况下,用户代码不允许设置以下请求头:connection、content-length、expect、host、upgrade。您可以使用此属性覆盖此行为。名称不区分大小写,空格会被忽略。请注意,此属性旨在用于测试,而不是用于实际部署。使用此属性时可能会发生协议错误或其他未定义的行为。根据上下文,可能还有其他标头被限制设置。当相关的 HttpClient 具有验证器集时,这包括“授权”标头。此属性不能覆盖这些限制。jdk.httpclient.bufsize
(默认值:16384 字节或 16 kB)
用于内部分配缓冲区的大小(以字节为单位)。jdk.httpclient.connectionPoolSize
(默认值:0)
HTTP/1.1 保持活动缓存中保持的最大连接数。值为 0 表示缓存是无界的。jdk.httpclient.connectionWindowSize
(默认值:2^26)
HTTP/2 客户端连接窗口大小(以字节为单位)。最大尺寸为 2^31-1。该值不能小于流窗口大小,可以通过jdk.httpclient.windowsize
系统属性进行配置。jdk.httpclient.disableRetryConnect
(默认值:false)
是否禁用连接失败自动重试。如果为假,则尝试重试(受重试限制)。jdk.httpclient.enableAllMethodRetry
(默认值:false)
是否允许自动重试非幂等 HTTP 请求。jdk.httpclient.enablepush
(默认值:1)
是否启用 HTTP/2 推送承诺。值为 1 启用推送承诺;值为 0 将禁用它。jdk.httpclient.hpack.maxheadertablesize
(默认值:16384 或 16 kB)
HTTP/2 客户端最大 HPACK 头表大小(以字节为单位)。jdk.httpclient.HttpClient.log
(默认值:无)
通过 平台日志 API 启用各种事件的高级日志记录。该值包含以下任何项目的逗号分隔列表:- 错误
- 要求
- headers
- 内容
- 框架
- SSL
- 痕迹
- channel
您可以在 frames 项目后附加以下任何项目的以冒号分隔的列表:- 控制
- 数据
- window
- all
指定一个项目会将其添加到 HTTP 客户端的日志中。例如,如果您指定以下值,则平台日志记录 API 会记录所有可能的 HTTP 客户端事件:
“错误、请求、标头、帧:控制:数据:窗口、ssl、跟踪、通道”
请注意,您可以将 control:data:window 替换为 all。记录器的名称是“jdk.httpclient.HttpClient”,所有记录都在 INFO 级别。jdk.httpclient.keepalive.timeout
(默认值:30)
在保持活动缓存中保持空闲 HTTP 连接活动的秒数。此属性适用于 HTTP/1.1 和 HTTP/2。 HTTP/2 的值可以被jdk.httpclient.keepalive.timeout.h2 property
覆盖。jdk.httpclient.keepalive.timeout.h2
(默认:see below)
保持空闲 HTTP/2 连接活动的秒数。如果未设置,则使用jdk.httpclient.keepalive.timeout
设置。jdk.httpclient.maxframesize
(默认值:16384 或 16kB)
HTTP/2 客户端最大帧大小(以字节为单位)。服务不允许发送大于此的帧。jdk.httpclient.maxstreams
(默认值:100)
客户端允许服务同时打开的 HTTP/2 推送流的最大数量。jdk.httpclient.receiveBufferSize
(默认:操作系统默认)
HTTP 客户端 套接字接收缓冲区大小 以字节为单位。jdk.httpclient.redirects.retrylimit
(默认值:5)
重定向或由于任何原因发生任何失败时尝试发送 HTTP 请求的最大次数。jdk.httpclient.websocket.writeBufferSize
(默认值:16384 或 16kB)
Web 套接字实现用于套接字写入的缓冲区大小。jdk.httpclient.windowsize
(默认值:16777216 或 16 MB)
HTTP/2 客户端流窗口大小(以字节为单位)。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 隧道。
-
包
输出