我正在使用Node.js应用。当用户点击主URL时,将进行数据库调用。此数据库调用返回URL路径。我试图了解如何将用户从我的Node应用程序发送到该新URL。该URL是应用程序本身的本地URL。我看到的一切都涉及到301.我不确定那是不是我真正想要的东西。目前,我的代码如下所示:
getUserUrl: function (req, res) {
var url = getNewUrl();
res.status(200).send();
}
这只能确认getUserUrl的请求没问题。但是,它实际上并没有将用户发送到url。如何将用户重定向到网址?
感谢你!
答案 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大致相同的功能。