当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js tls.TLSSocket 'session'事件用法及代码示例


事件:'session'

添加于:v11.10.0

参数

当新会话或 TLS 票证可用时,在客户端 tls.TLSSocket 上发出 'session' 事件。这可能会或可能不会在握手完成之前,具体取决于协商的 TLS 协议版本。该事件不会在服务器上发出,或者如果没有创建新会话,例如,当连接恢复时。对于某些 TLS 协议版本,可能会多次发出事件,在这种情况下,所有会话都可以用于恢复。

在客户端,可以将session 提供给 tls.connect() session 选项以恢复连接。

有关详细信息,请参阅Session Resumption

对于 TLSv1.2 及更低版本,握手完成后可以调用 tls.TLSSocket.getSession() 。对于 TLSv1.3,协议只允许基于票证的恢复,发送多个票证,直到握手完成后才发送票证。因此需要等待'session' 事件才能获得可恢复的会话。应用程序应使用 'session' 事件而不是 getSession() 以确保它们适用于所有 TLS 版本。只希望获取或使用一个会话的应用程序应该只监听这个事件一次:

tlsSocket.once('session', (session) => {
  // The session can be used immediately or later.
  tls.connect({
    session: session,
    // Other connect options...
  });
});

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品  'session'事件。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。