http2.connect(authority[, options][, listener])
历史
版本 | 变化 |
---|---|
v13.0.0 |
|
v15.10.0、v14.16.0、v12.21.0、v10.24.0 | 添加了 |
v14.4.0、v12.18.0、v10.21.0 | 添加了 |
v8.9.3 | 添加了默认限制为 10 的 |
v8.9.3 | 添加了默认限制为 128 个标头对的 |
v8.4.0 | 添加于:v8.4.0 |
参数
authority
<string> | <URL> 要连接的远程 HTTP/2 服务器。这必须采用具有http://
或https://
前缀、主机名和 IP 端口(如果使用非默认端口)的最小有效 URL 的形式。 URL 中的用户信息(用户 ID 和密码)、路径、查询字符串和片段详细信息将被忽略。options
<Object>maxDeflateDynamicTableSize
<number> 设置用于缩小标题字段的最大动态表大小。 默认:4Kib
。maxSettings
<number> 设置每个SETTINGS
帧的最大设置条目数。允许的最小值是1
。 默认:32
。maxSessionMemory
<number> 设置Http2Session
允许使用的最大内存。该值以兆字节数表示,例如1
等于 1 兆字节。允许的最小值是1
。这是基于信用的限制,现有的Http2Stream
可能会导致超出此限制,但新的Http2Stream
实例将在超出此限制时被拒绝。当前Http2Stream
会话数、标头压缩表的当前内存使用、当前排队发送的数据以及未确认的PING
和SETTINGS
帧都计入当前限制。 默认:10
。maxHeaderListPairs
<number> 设置标题条目的最大数量。这类似于http.Server#maxHeadersCount
http.ClientRequest#maxHeadersCount
1
。 默认:128
。maxOutstandingPings
<number> 设置未完成的未确认 ping 的最大数量。 默认:10
。maxReservedRemoteStreams
<number> 设置客户端在任何给定时间将接受的保留推送流的最大数量。当前预留的推流数量一旦超过这个限制,服务器发送的新推流将被自动拒绝。允许的最小值为 0。允许的最大值为 2232-1。负值将此选项设置为允许的最大值。 默认:200
。maxSendHeaderBlockLength
<number> 设置序列化、压缩的标头块的最大允许大小。尝试发送超出此限制的标头将导致发出'frameError'
事件并关闭和销毁流。paddingStrategy
<number>用于确定要使用的填充量的策略HEADERS
和DATA
帧。默认:http2.constants.PADDING_STRATEGY_NONE
.值可能是以下之一:http2.constants.PADDING_STRATEGY_NONE
:不应用填充。http2.constants.PADDING_STRATEGY_MAX
:应用由内部实现确定的最大填充量。http2.constants.PADDING_STRATEGY_ALIGNED
:尝试应用足够的填充以确保总帧长度(包括 9 字节标头)是 8 的倍数。对于每个帧,存在由当前流控制确定的最大允许填充字节数状态和设置。如果此最大值小于确保对齐所需的计算量,则使用最大值并且总帧长度不必对齐为 8 个字节。
peerMaxConcurrentStreams
<number> 设置远程对等方的最大并发流数,就像已接收到SETTINGS
帧一样。如果远程对等方为maxConcurrentStreams
设置自己的值,将被覆盖。 默认:100
。protocol
<string> 要连接的协议,如果未在authority
中设置。值可以是'http:'
或'https:'
。 默认:'https:'
settings
<HTTP/2 Settings Object> 在连接时发送到远程对等方的初始设置。createConnection
<Function> 一个可选回调,它接收传递给connect
和options
对象的URL
实例,并返回用作此会话连接的任何Duplex
- ...:可以提供任何
net.connect()
tls.connect()
unknownProtocolTimeout
<number> 指定发出'unknownProtocol'
10000
。
listener
<Function> 将注册为'connect'
- 返回: <ClientHttp2Session>
返回一个 ClientHttp2Session
实例。
const http2 = require('node:http2');
const client = http2.connect('https://localhost:1234');
/* Use the client */
client.close();
相关用法
- Node.js http2.connect()用法及代码示例
- Node.js http2.constants用法及代码示例
- Node.js http2.createServer()用法及代码示例
- Node.js http2.createSecureServer(options[, onRequestHandler])用法及代码示例
- Node.js http2.createServer([options][, onRequestHandler])用法及代码示例
- Node.js http2.bufferSize用法及代码示例
- Node.js http2.getDefaultSettings()用法及代码示例
- Node.js http2.getUnpackedSettings()用法及代码示例
- Node.js http2.getPackedSettings([settings])用法及代码示例
- Node.js http2.getPackedSettings()用法及代码示例
- Node.js http2.aborted用法及代码示例
- Node.js ServerHttp2Stream http2stream.pushStream(headers[, options], callback)用法及代码示例
- Node.js http2session.destroyed用法及代码示例
- Node.js http2session.type用法及代码示例
- Node.js http2session.ping()用法及代码示例
- Node.js http2session.connecting用法及代码示例
- Node.js ServerHttp2Stream http2stream.respond([headers[, options]])用法及代码示例
- Node.js http2stream.setTimeout()用法及代码示例
- Node.js http2session.setTimeout()用法及代码示例
- Node.js http2stream.id用法及代码示例
- Node.js http2stream.closed用法及代码示例
- Node.js http2stream.rstCode用法及代码示例
- Node.js http2session.encrypted用法及代码示例
- Node.js http2session.closed用法及代码示例
- Node.js http2stream.pushAllowed用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 http2.connect(authority[, options][, listener])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。