设置对象


【Settings object】

http2.getDefaultSettings()http2.getPackedSettings()http2.createServer()http2.createSecureServer()http2session.settings()http2session.localSettingshttp2session.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 范围内的整数。不应使用 Node 已处理的设置类型,即当前应大于 6,尽管这不是错误。值必须是从 0 到 2^32-1 的无符号整数。目前最多支持 10 个自定义设置。仅支持发送 SETTINGS,或接收在服务器或客户端对象的 remoteCustomSettings 选项中指定的设置值。在将来 Node 版本中,如果某个设置类型被本地支持,请不要将 customSettings 机制与本地处理的设置接口混用。

设置对象上的所有附加属性都将被忽略。

【All additional properties on the settings object are ignored.】