设置对象
🌐 Settings object
http2.getDefaultSettings()、http2.getPackedSettings()、http2.createServer()、http2.createSecureServer()、http2session.settings()、http2session.localSettings 和 http2session.remoteSettings API 要么返回,要么接收一个作为输入的对象,该对象定义了 Http2Session 对象的配置设置。这些对象是普通的 JavaScript 对象,包含以下属性。
🌐 The http2.getDefaultSettings(), http2.getPackedSettings(),
http2.createServer(), http2.createSecureServer(),
http2session.settings(), http2session.localSettings, and
http2session.remoteSettings APIs either return or receive as input an
object that defines configuration settings for an Http2Session object.
These objects are ordinary JavaScript objects containing the following
properties.
headerTableSize<number> 指定用于头部压缩的最大字节数。允许的最小值为 0。允许的最大值为 232-1。默认值:4096。enablePush<boolean> 如果要在Http2Session实例上允许 HTTP/2 推送流,则指定true。默认值:true。initialWindowSize<number> 指定发送方在字节级别上用于流级别流量控制的初始窗口大小。最小允许值为 0。最大允许值为 232-1。默认值:65535。maxFrameSize<number> 指定最大帧负载的字节大小。允许的最小值为 16,384。允许的最大值为 224-1。默认值:16384。maxConcurrentStreams<number> 指定允许在Http2Session上并发的最大流数量。没有默认值,这意味着,至少从理论上讲,在Http2Session上任何时刻可以同时打开 232-1 个流。最小值为 0。允许的最大值为 232-1。默认值:4294967295。maxHeaderListSize<number> 指定将被接受的头列表的最大大小(未压缩字节数)。允许的最小值为 0。允许的最大值为 232-1。默认值:65535。maxHeaderSize<number>maxHeaderListSize的别名。enableConnectProtocol<boolean> 如果要启用 RFC 8441 定义的“扩展连接协议”,则指定为true。此设置只有在服务器发送时才有意义。一旦为给定的Http2Session启用enableConnectProtocol设置,就无法禁用。默认值:false。customSettings<Object> 指定了额外设置,但未在 node 及其底层库中实现。对象的键定义设置类型的数值(定义在 [RFC 7540] 建立的“HTTP/2 SETTINGS”注册表中),而 值则是设置的实际数值。 设置类型必须是1到2^16-1之间的整数。 它不应是节点已经处理的设置类型,即当前应大于6,尽管这不是错误。 这些值需要是0到2^32-1之间的无符号整数。 目前,最多支持10个自定义设置。 它仅支持发送 SETTINGS,或接收服务器或客户端对象的 'remoteCustomSettings' 选项中指定的设置值。不要将设置ID的“customSettings”机制与原生处理的设置接口混淆,以免未来节点版本中某个设置被原生支持。
设置对象上的所有附加属性都将被忽略。
🌐 All additional properties on the settings object are ignored.