在node.js中,使用https-module和createserver时。当用户向httpsserver发出请求时,请求是唯一的还是不同的请求可以有相同的请求(id?)。如果它是唯一的,应该使用哪个属性?
答案 0 :(得分:2)
http请求处理程序中的request
参数是一个Javascript对象,每个参数都是唯一的。它们永远不会被重复使用。该对象记录在案here。
node.js http库中没有请求ID。如果您想创建自己的请求ID,只需将符号指定为请求对象的属性即可自行完成。您可以选择要使用的任何属性名称,与现有属性不冲突。
由于这是一个不寻常的请求,我会问你为什么要这样做,因为可能有一个更好的方法来解决你的问题而不是尝试发出请求ID。如果你展示了你的实际代码以及你想要做的事情,我们可能会更具体地帮助你。
如果您使用的是Express,则可以使用以下某些中间件设置您自己的请求ID:
// set request ID
let reqCntr = 0;
app.use((req, res, next) => {
req._localID = reqCntr++;
next();
});
只需将此中间件放在任何其他希望使用该ID的请求处理程序之前。您可以选择任何非冲突的属性名称。我选择了_localID
。