从node.js将用户发送到新的URL

时间:2014-07-15 17:25:46

标签: node.js

我正在使用Node.js应用。当用户点击主URL时,将进行数据库调用。此数据库调用返回URL路径。我试图了解如何将用户从我的Node应用程序发送到该新URL。该URL是应用程序本身的本地URL。我看到的一切都涉及到301.我不确定那是不是我真正想要的东西。目前,我的代码如下所示:

getUserUrl: function (req, res) {
  var url = getNewUrl();
  res.status(200).send();
}

这只能确认getUserUrl的请求没问题。但是,它实际上并没有将用户发送到url。如何将用户重定向到网址?

感谢你!

1 个答案:

答案 0 :(得分:0)

我不知道为什么你说301不是你想要的,因为这绝对是你可以选择的选项之一。

通常,301状态代码用于永久重定向。也就是说,对某个URL的请求将被视为始终重定向到您发送该用户的位置,并且浏览器和代理可以无限期地缓存此重定向。

302状态代码是临时重定向。对您的服务器的后续请求将发送到您的服务器(只要您不为其启用缓存),允许您继续重定向。

在任何一种情况下,您都需要状态代码和Location:标题来告诉用户代理去哪里。

res.setHeader('Location', 'http://example.com');
res.statusCode = 302;
res.end();

现在您还可以使用307 and 308 status codes进行重定向。它们在RFC中更明确地定义,并提供与301和302大致相同的功能。