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])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。