处理重定向时是不是应保留授权?
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
【讨论】:
以上是关于处理重定向时是不是应保留授权?的主要内容,如果未能解决你的问题,请参考以下文章
使用 API 路由时,在未授权时返回 Http Response 401 而不是重定向到登录页面