Ruby on rails 删除Http头响应

Ruby on rails 删除Http头响应,ruby-on-rails,nginx,http-headers,xmlhttprequest,httpresponse,Ruby On Rails,Nginx,Http Headers,Xmlhttprequest,Httpresponse,我正在从事一个项目,该项目要求客户端对 我的 rails应用程序和它将返回XML,而不返回任何http头信息 它目前正在返回: HTTP/1.1 200 OK Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: Fri, 01 Jan 1990 00:00:00 GMT Content-Type: application/xml; charset= X-Ua-Compati

我正在从事一个项目,该项目要求客户端对 我的 rails应用程序和它将返回XML,而不返回任何http头信息

它目前正在返回:

HTTP/1.1 200 OK
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Content-Type: application/xml; charset=
X-Ua-Compatible: IE=Edge
X-Request-Id: c5602cd7eb23ca8137bef8bb1f0a4f8a
X-Runtime: 0.027900
Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-11-22)
Date: Wed, 18 Jun 2014 05:27:48 GMT
Content-Length: 529
Connection: Keep-Alive
Set-Cookie: _session_id=a8039d615674feec206e6c55a7a7afc8; path=/;
HttpOnly

<?xml version="1.0" encoding="UTF-8"?>
<cXML>
  <Response>
    <Status code="200" text="OK"/>
      <StartPage>
    <URL>http://localhost:3000/foobar/BAh7DDoNYmFza2V0aWRJI...
      </StartPage>
  </Response>
</cXML>
我现在正在使用nginx

我有人说这是一种无意义的请求,因为HTTP服务器 定义使用标题彼此对话。但我也被告知W3不这么认为

我也在谷歌上搜索了几个小时,试图用其他解决方案来更换我的rails控制器,但没有成功。最后的手段是否可能改变Nginx中的配置,这不会影响整个rails应用程序,而不仅仅是api调用,或者有没有办法单独选择一个调用

提前谢谢


这是一个毫无意义的请求,是的。您可以使用该模块删除大多数响应头。像这样的东西应该可以做到:

location /your/api/path {
  more_clear_headers '*';
}
但是,您不能删除Connections标头。即使可以,也不能删除响应的第一行(在本例中为“HTTP/1.1200ok”)。如果没有这一行,它就不是HTTP响应。您将很难说服HTTP服务器发送非HTTP响应

要获得您所描述的内容,我认为您需要一个通过裸TCP套接字进行通信的自定义服务器。也许能帮你。或者您可以在node.js(或其他工具)中实现应用程序的这一部分

location /your/api/path {
  more_clear_headers '*';
}