Javascript express中的“onconnect”事件在哪里?

Javascript express中的“onconnect”事件在哪里?,javascript,node.js,express,Javascript,Node.js,Express,我使用“express”设置了以下中间件: app.use(function(request, response, next) { console.log(request.headers["user-agent"]); // etc. }); 因此,在每次请求时,控制台中都会显示用户代理的头。 但现在您知道了用户代理可能会有多混乱: Mozilla/5.0(Linux;Android 7.1.1;Nexus 5X Build/NMF26F)AppleWebKit/537.36(

我使用“express”设置了以下中间件:

app.use(function(request, response, next) {
    console.log(request.headers["user-agent"]);
    // etc.
});
因此,在每次请求时,控制台中都会显示用户代理的
头。
但现在您知道了用户代理可能会有多混乱:

Mozilla/5.0(Linux;Android 7.1.1;Nexus 5X Build/NMF26F)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/56.0.2924.59 Mobile Safari/537.36

我真的希望在每个连接上输出一次头,而不是在每个请求上


我该怎么做?

每次对HTTP堆栈(服务器)的请求都会建立一个新的连接。。这就是HTTP协议的工作原理

编辑:

如果您需要跟踪访客,您可以使用cookie或更好的会话。这些信息将随每个请求一起发送给您,当您没有找到任何附件时,您就知道这是一个“新连接”


为此,您可以使用每次对HTTP堆栈(服务器)的请求建立新连接。。这就是HTTP协议的工作原理

编辑:

如果您需要跟踪访客,您可以使用cookie或更好的会话。这些信息将随每个请求一起发送给您,当您没有找到任何附件时,您就知道这是一个“新连接”


您可以将其用于此目的

我不认为这在
express
中公开,这是一件好事,因为您最不想处理的事情是处理HTTP 1.1 keep alive自己

我会将
用户代理
记录在一次发生的请求上,可能是用户身份验证请求或类似的请求

编辑:要展开第二部分,标准身份验证流之一可以如下所示:

  • 用户发布凭据
  • 服务器返回令牌
  • 用户使用令牌访问API
  • 因此,您可以在用户获得令牌时记录
    用户代理
    ,并在每个其他请求中记录令牌。通过这种方式,您可以轻松地在初始身份验证请求中搜索日志文件以查找用户代理。此令牌可以是会话ID,使用类似于包的包,也可以是更健壮的身份验证令牌


    用户通过身份验证后,您还可以将该
    用户代理
    值存储在会话对象服务器端,并添加中间件,在每个请求的
    跟踪
    日志中记录会话。通过这种方式,您可以在每个请求上启用会话日志记录,并在需要时查看那里的
    用户代理。

    我不认为这在
    express
    中公开,这是一件好事,因为您最不想处理的事情是处理HTTP 1.1 keep alive自己

    我会将
    用户代理
    记录在一次发生的请求上,可能是用户身份验证请求或类似的请求

    编辑:要展开第二部分,标准身份验证流之一可以如下所示:

  • 用户发布凭据
  • 服务器返回令牌
  • 用户使用令牌访问API
  • 因此,您可以在用户获得令牌时记录
    用户代理
    ,并在每个其他请求中记录令牌。通过这种方式,您可以轻松地在初始身份验证请求中搜索日志文件以查找用户代理。此令牌可以是会话ID,使用类似于包的包,也可以是更健壮的身份验证令牌


    用户通过身份验证后,您还可以将该
    用户代理
    值存储在会话对象服务器端,并添加中间件,在每个请求的
    跟踪
    日志中记录会话。通过这种方式,您可以在每个请求上启用会话日志记录,并在需要时查看
    用户代理。

    我认为,
    连接有一些有趣的地方:“保持活动状态”
    mdn声明这是非标准的。。。坦率地说,我确实认为会话更适合您的情况,并得到所有现代浏览器的支持。我相信,
    “连接”有一些有趣的地方:“保持活力”
    mdn声明这是非标准的。。。坦率地说,我确实认为会话更适合你的情况,并且得到所有现代浏览器的支持。谢谢你的回答。请澄清第二部分,我没明白。哦,我明白了。你说的是一个“有点特殊”的用户请求,这种请求在设计时只发生一次,对吗?是的!我对描述做了一些扩展。谢谢你的回答。请澄清第二部分,我没明白。哦,我明白了。你说的是一个“有点特殊”的用户请求,这种请求在设计时只发生一次,对吗?是的!我对描述做了一些扩展。