我有一个用 Node.js + Express 编写的应用程序来处理传入数据并将客户重定向到其他地方。问题是处理可能需要一段时间(主要是统计相关,所以特定于地理环境的数据+数据库查找)所以在概念上捕获必要的标头(用于数据处理)、发送 301/302 标头然后处理捕获的数据在概念上是否正确?目标是尽可能快地重定向客户,并且在处理完成时不要让他们等待,因为处理本身与重定向无关(我们可以假设目标 URL 是固定的)。
例如:
...
app.get('/click', function(req, res, next) {
// capture some incoming data
var ua = req.get('User-Agent');
var ip = (req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress;
// redirect
res.redirect(302,"http://www.google.com");
// heavy processing on incoming
processData(ua, ip);
});
...