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])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
