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

Posted

技术标签:

【中文标题】使用 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

以上是关于使用 java servlet 在重定向响应中丢失 HTTP 自定义标头的主要内容,如果未能解决你的问题,请参考以下文章

在 servlet 重定向之前使用过滤器修改响应 URL (Java/Tomcat)

请求转发和重定向的区别

如何使用 node.js 在重定向 url 中获取元素

Chrome 在重定向时取消 CORS XHR

在servletfilter中正确的使用重定向

从零开始的Java开发2-10-4 Servlet与jsp进阶:请求与响应的结构请求转发与响应重定向Cookie