如果我(HTTP客户端)使用身份验证参数(用户名/密码)连接到服务器并且服务器向我发送301响应(永久重定向),我的HTTP客户端是否应自动发送用户名/密码并请求转到新位置?
问题是关于标准和最佳实践 - 我在RFC 2616和RFC 2617中找不到任何明确的内容。
答案 0 :(得分:6)
我不知道这对你有什么帮助,但我见过的关于此的大多数帖子都说应该删除授权标题以进行重定向。 github上有一些bug,人们要求删除Authorization标头,因为它是标准的。
“不幸的是,当重定向完成后,将从新请求中删除Authorization标头。” http://blogs.msdn.com/b/paulking/archive/2011/03/31/how-to-lose-your-authorization-head-er-with-a-bad-url.aspx
“自动重定向时清除了Authorization标头,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