【问题标题】:Add Custom Header Parameters to Http Header将自定义标头参数添加到 Http 标头
【发布时间】:2012-04-23 17:56:24
【问题描述】:

是否有任何工作方法可以将自定义属性添加到 Http 请求中的 Http Header 中。到目前为止
我试过放入 Servlet 过滤器响应,httpRequest 没有 addHeader 方法。我在 JSF 中尝试了 Phase Listener。似乎什么都不起作用。有什么办法吗?
我使用 Weblogic,是否有任何 Weblogic 特定的方式,比如一些可用于设置自定义标头的标签。请提出建议。
简而言之,我想要 Http Header 请求中的自定义属性。

有什么方法可以让我做类似下面的可用于 IIS 服务器的操作

<system.webServer> 
    <httpProtocol>
        <customHeaders>
            <clear />
            <add name="X-UA-Compatible" value="IE=EmulateIE7" />
        </customHeaders>
    </httpProtocol>
</system.webServer>      

【问题讨论】:

  • 为什么不能用过滤器写?
  • 功能需求不明确。 HTTP 请求参数与 HTTP 标头完全不同,因此您的问题令人困惑。此外,不清楚您是在谈论 HTTP 请求标头还是 HTTP 响应标头。
  • @RameshPVK :我想要请求中的 http 标头。并且请求没有 addHeader 方法。请求包装器实际上并没有将值放入标头中。它只是在您调用 getHeader 方法时从其他来源检索它。

标签: servlets servlet-filters


【解决方案1】:

请求标头由调用 Servlet/JSP 的客户端发送,这就是Servlet Spec does not allow you to add any headers to the Request 的原因。如果您想为请求设置任何自定义属性,the only way to do is using HttpServletRequest.setAttribute() method.

【讨论】:

  • 我需要一个自定义 Header 而不是 Request Attribute,比如说 User-Agent 标头值,我需要 X-MY_HEADER 进入 Http Header。
  • 你不能。这就是我在回答中提到的。 'Servlet 规范不允许您向请求中添加任何标头'
  • 好吧,如果您注意到像 WebSeal 或 SiteMinder 这样的 SSO 接口,除了通常的标头集之外,还会添加请求的自定义标头值。我们不能做同样的事情吗???
  • 不,添加标题根本没有意义?什么是设置标题/属性?告诉我你的用例?
  • 好吧,我必须添加 X-UA-Compatible 标头。这是针对正在移植到 IE8 浏览器的 JSF 应用程序。
猜你喜欢
  • 2017-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-15
  • 2014-08-21
  • 1970-01-01
  • 2016-10-18
相关资源
最近更新 更多