gpt4 book ai didi

http-headers - 是否可以发送 401 Unauthorized AND 重定向(带位置)?

转载 作者:行者123 更新时间:2023-12-03 07:49:55 24 4
gpt4 key购买 nike

我想发一个 401 Unauthorized并将客户端重定向到某个地方。然而:

如果我这样做:

header('HTTP/1.1 401 Unauthorized');
header('Location: /');

服务器发送 302 FoundLocation ,所以不是 401 Unauthorized .

如果我这样做:
header('Location: /');
header('HTTP/1.1 401 Unauthorized');

浏览器同时收到 401 Unauthorized和一个 Location ,但不重定向。

(IE 9 和 Chrome 16 的行为相同,所以我猜它是正确的)

也许我滥用了 HTTP?我希望我的应用程序界面对于所有客户端都完全相同:文本浏览器、现代浏览器、API 调用等。 401 + 响应文本会告诉 API 用户什么是什么。重定向对浏览器很有用。

有(好的)方法吗?

最佳答案

根据定义(见 RFC 2616),HTTP 302响应代码 重定向代码。没有它,位置 header 可能会被忽略。

但是,您可以发送 HTTP 401响应并仍然显示输出。无需将用户重定向到错误页面,您只需在同一请求中的 HTTP 正文中编写要发送的内容即可。

关于http-headers - 是否可以发送 401 Unauthorized AND 重定向(带位置)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8775593/

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