处理重定向时是不是应保留授权?

Posted

技术标签:

【中文标题】处理重定向时是不是应保留授权?【英文标题】:should authorization be kept when redirection is handled?处理重定向时是否应保留授权? 【发布时间】:2013-06-10 03:28:49 【问题描述】:

如果我(HTTP 客户端)使用身份验证参数(用户名/密码)连接到服务器并且服务器向我发送 301 响应(永久重定向),我的 HTTP 客户端是否应该自动发送用户名/密码以及前往新位置的请求?

问题是关于标准和最佳实践 - 我在 RFC 2616 和 RFC 2617 中找不到任何明确的内容。

【问题讨论】:

我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。 【参考方案1】:

我不知道这是否对您有帮助,但我看到的大多数关于此的帖子都说应该删除 Authorization 标头以进行重定向。 github 上有一些错误,人们要求删除 Authorization 标头,因为它是标准。

“很遗憾,当重定向完成时,授权标头会从新请求中删除。” http://blogs.msdn.com/b/paulking/archive/2011/03/31/how-to-lose-your-authorization-head-er-with-a-bad-url.aspx

“授权标头在自动重定向时被清除,HttpWebRequest 会自动尝试重新验证到重定向的位置。” http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.allowautoredirect.aspx

https://github.com/mikeal/request/issues/450

http://lists.apple.com/archives/webkitsdk-dev/2011/Mar/msg00004.html

【讨论】:

以上是关于处理重定向时是不是应保留授权?的主要内容,如果未能解决你的问题,请参考以下文章

处理各种类型的 URL 重定向

301重定向时nginx保留端口号

使用 API 路由时,在未授权时返回 Http Response 401 而不是重定向到登录页面

IIS 重定向是不是保留 QueryString?

如何使授权属性返回自定义 403 错误页面而不是重定向到登录页面

OkHttp是否在重定向上发送授权和其他可能敏感的标头?