无法在发送 HTTP 标头之后进行重定向

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在发送 HTTP 标头之后进行重定向相关的知识,希望对你有一定的参考价值。

httpContext.Response.Redirect("/Web/Error.aspx");出现 无法在发送 HTTP 标头之后进行重定向 错误..网上搜了很多,还是不能解决,,httpContext是我自己重新定义的。 httpContext = new HttpContext(Request,Response);

参考技术A 因为考虑到你使用了httpContext修改了页面头部,所以引发这个错误。建议你还是用js来完成,比如:ClientScirpt.StartUpRegist(GetType(),"RedirectNow","location.href='/Web/Error.aspx',true");

使用 java servlet 在重定向响应中丢失 HTTP 自定义标头

【中文标题】使用 java servlet 在重定向响应中丢失 HTTP 自定义标头【英文标题】:Lost HTTP custom Header in Redirect response with java servlet 【发布时间】:2019-05-15 17:42:48 【问题描述】:

我无法创建 HTTP 标头并将其作为响应发送到另一个请求页面。我有那个代码;

在浏览器检查中,我发现:

但是当我转到重定向页面时,我没有收到该标题

【问题讨论】:

【参考方案1】:

您发送一个重定向 - 它不会携带原始请求的标头。见https://httpstatuses.com/303

让自己清楚发生了什么: 您的响应带有状态码 303,这将触发客户端向您指定的 url 创建一个新请求。 而且这个新请求不会包含先前响应的标头。

【讨论】:

我应该使用哪种 http 状态?这是唯一的问题? 使用重定向时,据我所知,您有两种选择:将请求参数添加到重定向 url 或使用 cookie

以上是关于无法在发送 HTTP 标头之后进行重定向的主要内容,如果未能解决你的问题,请参考以下文章

301 和 301 http 重定向是不是可以使用 expires 标头进行缓存?

使用 java servlet 在重定向响应中丢失 HTTP 自定义标头

使用浏览器应发送到重定向位置的 HTTP 重定向发送信息?

Apache NiFi的InvokeHTTP和其他HTTP处理器是否会向重定向的URL发送授权标头?

PHP中重定向标头之后的所有代码都会被执行吗?

如何重定向到 Wordpress 中的不同管理页面?