當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Node.js http2.connect(authority[, options][, listener])用法及代碼示例

http2.connect(authority[, options][, listener])

曆史
版本變化
v13.0.0

PADDING_STRATEGY_CALLBACK 已等同於提供 PADDING_STRATEGY_ALIGNED 並且 selectPadding 已被刪除。

v15.10.0、v14.16.0、v12.21.0、v10.24.0

添加了 unknownProtocolTimeout 選項,默認值為 10000。

v14.4.0、v12.18.0、v10.21.0

添加了 maxSettings 選項,默認值為 32。

v8.9.3

添加了默認限製為 10 的 maxOutstandingPings 選項。

v8.9.3

添加了默認限製為 128 個標頭對的 maxHeaderListPairs 選項。

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 會話數、標頭壓縮表的當前內存使用、當前排隊發送的數據以及未確認的 PINGSETTINGS 幀都計入當前限製。 默認: 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>用於確定要使用的填充量的策略HEADERSDATA幀。默認: 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> 一個可選回調,它接收傳遞給connectoptions 對象的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();

相關用法


注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 http2.connect(authority[, options][, listener])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。