http2.createSecureServer(options[, onRequestHandler])
曆史
| 版本 | 變化 |
|---|---|
| v13.0.0 |
|
| v13.3.0、v12.16.0 | 添加了 |
| v13.3.0、v12.16.0 | 添加了 |
| v15.10.0、v14.16.0、v12.21.0、v10.24.0 | 添加了 |
| v14.4.0、v12.18.0、v10.21.0 | 添加了 |
| v10.12.0 | 添加了 |
| v8.9.3 | 添加了默認限製為 10 的 |
| v8.9.3 | 添加了默認限製為 128 個標頭對的 |
| v8.4.0 | 添加於:v8.4.0 |
參數
options<Object>allowHTTP1<boolean> 設置為true時,不支持 HTTP/2 的傳入客戶端連接將降級為 HTTP/1.x。請參閱事件。請參閱ALPN negotiation。 默認:'unknownProtocol'false。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#maxHeadersCount4。 默認:128。maxOutstandingPings<number> 設置未完成的未確認 ping 的最大數量。 默認:10。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。maxSessionInvalidFrames<integer> 設置會話關閉前允許的最大無效幀數。 默認:1000。maxSessionRejectedStreams<integer> 設置會話關閉前允許的創建時拒絕的最大流數。每個拒絕都與NGHTTP2_ENHANCE_YOUR_CALM錯誤相關聯,該錯誤應該告訴對等方不要再打開任何流,因此繼續打開流被視為行為不端的對等方的標誌。 默認:100。settings<HTTP/2 Settings Object> 在連接時發送到遠程對等方的初始設置。- ...:可以提供任何
選項。對於服務器,通常需要標識選項(tls.createServer()pfx或key/cert)。 origins<string[]> 在創建新服務器Http2Session後立即在ORIGIN框架內發送的原始字符串數組。unknownProtocolTimeout<number> 指定發出事件時服務器應等待的超時時間(以毫秒為單位)。如果到那時套接字還沒有被銷毀,服務器將銷毀它。 默認:'unknownProtocol'10000。
onRequestHandler<Function> 見 Compatibility API- 返回: <Http2SecureServer>
返回創建和管理 Http2Session 實例的 tls.Server 實例。
const http2 = require('node:http2');
const fs = require('node:fs');
const options = {
key: fs.readFileSync('server-key.pem'),
cert: fs.readFileSync('server-cert.pem')
};
// Create a secure HTTP/2 server
const server = http2.createSecureServer(options);
server.on('stream', (stream, headers) => {
stream.respond({
'content-type': 'text/html; charset=utf-8',
':status': 200
});
stream.end('<h1>Hello World</h1>');
});
server.listen(80);
相關用法
- Node.js http2.createServer()用法及代碼示例
- Node.js http2.createServer([options][, onRequestHandler])用法及代碼示例
- Node.js http2.connect(authority[, options][, listener])用法及代碼示例
- Node.js http2.connect()用法及代碼示例
- Node.js http2.constants用法及代碼示例
- 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.createSecureServer(options[, onRequestHandler])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
