如何在 HTTP 重定向上转发标头
Posted
技术标签:
【中文标题】如何在 HTTP 重定向上转发标头【英文标题】:How to forward headers on HTTP redirect 【发布时间】:2010-12-30 11:52:04 【问题描述】:我正在编写一个响应 HTTP 重定向的 web 应用程序。有没有办法强制客户端将我在响应中包含的标头转发到新 url?
示例请求:
POST /insertion HTTP/1.1
Content-Length: 9
(content)
Web 应用响应:
HTTP/1.x 302 Found
Location: /dock
Mydata: asdf
下一个客户请求:
GET /dock HTTP/1.1
Mydata: asdf
更新:我似乎对此事并不清楚。我知道 cookie 会很有用,但我不能使用它们。你知道是否存在我正在寻找的东西吗?
【问题讨论】:
【参考方案1】:除了 HTTP cookie,协议规范中没有关于转发标头的任何内容。客户端需要实现这个功能。
【讨论】:
有没有受欢迎的客户做?【参考方案2】:将您的数据作为参数放入新的 url:
HTTP/1.x 302 Found
Location: /dock?data=asdf
或将其保存在 cookie 中
HTTP/1.x 302 Found
Location: /dock
Set-Cookie: data=asdf
【讨论】:
【参考方案3】:这就是 cookie 的用途。您可以为浏览器会话设置它,并在下一次请求后使其失效。
【讨论】:
如果重定向跨越不同的域,那效果就不太好了。 或者如果你使用无状态请求。以上是关于如何在 HTTP 重定向上转发标头的主要内容,如果未能解决你的问题,请参考以下文章
在powershell中使用Invoke-WebRequest重定向URL时如何获取位置标头