gpt4 book ai didi

node.js - 为什么在编辑状态码时没有正确表达重定向

转载 作者:搜寻专家 更新时间:2023-11-01 00:25:22 26 4
gpt4 key购买 nike

标准 res.redirect('/some/path'); 的行为符合预期并立即将请求重定向到 /some/path,但如果我添加状态代码,例如 res.redirect(401, '/some/path') 我导航到重定向页面,express 没有重定向到 /一些/路径,而我只是得到以下页面:

<p>Unauthorized. Redirecting to <a href="/some/path">/</a></p>

而且它从不重定向。这对于我顺便提供的任何状态代码都是一样的。

为什么代码指定的重定向没有像我期望的那样工作,我如何返回自定义状态代码并重定向到不同的路径?

最佳答案

用于重定向某人的 Location header 的行为仅针对 3xx 范围内的状态代码和 201/202 状态定义。由于您将状态代码设置为 401,它会忽略 header 并只呈现响应内容。 Express 恰好包含一些很好的文本,说明用户正在被重定向,以防重定向速度很慢。

此外,考虑到 401 状态代码的定义,您可能误用了它。 401 代码是让客户端知道它需要在给定的请求中发送额外的身份验证信息,例如http://en.wikipedia.org/wiki/Basic_access_authentication , 所以你不应该重定向到另一个 URL。

关于node.js - 为什么在编辑状态码时没有正确表达重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21519094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com