希望对于那里的某个人来说,这是一个简单的问题。
基本上收到我的MVC控制器的请求后,我想:
它似乎是重定向的行为,剥离了我的所有自定义标题和重定向。
我的问题是,如何添加新标头,并执行重定向,并在接收主机[在重定向结束时]的标题中显示该标题以进行阅读?
答案 0 :(得分:9)
你做不到。这不是HTTP的工作方式。首先,“重定向”只是一个301,302或(自HTTP 1.1)307状态代码,Location
标头设置为客户端应该访问的URL。是客户端发起对该URL的请求,因此您无法控制他们发送的标头。
其次,HTTP是无状态的,因此在某些响应中在某些响应中发送Authorization
标头的事实 0 对任何未来请求中发生的任何事件都有影响。 Web浏览器和其他HTTP客户端通过使用服务器端的会话和客户端的cookie来绕过HTTP的无状态特性。客户端使用请求将cookie发送到服务器。 cookie与服务器上会话存储中的项目匹配,服务器从该会话中加载数据,以便像保持状态一样提供外观。
第三,cookie在这种情况下不起作用,因为它们是域绑定的,不会与请求发送到它们不是源自的域。因此,即使您要创建会话以维护授权,另一个站点也永远不会看到它。
FWIW,这里的基本前提是,与不同的域共享身份验证状态,正是开发了OAuth等技术。因此,未来的研究将朝这个方向发展。
答案 1 :(得分:2)
否 - 302重定向由浏览器处理,不会重新附加标题。
选项: