响应中的HTTP标头存在于CURL请求中,但不存在于浏览器请求中

响应中的HTTP标头存在于CURL请求中,但不存在于浏览器请求中,curl,http-headers,xmlhttprequest,cors,response-headers,Curl,Http Headers,Xmlhttprequest,Cors,Response Headers,当我在对象上运行cURL以查看其HTTP响应头时(我只是添加了代理标志以模拟浏览器请求): 我有: HTTP/1.1 200 OK Content-Length: 481005 Accept-Ranges: bytes Last-Modified: Tue, 08 Sep 2015 18:37:54 GMT ETag: e9f52648c48c707cb9c17e1871787ad8 X-Timestamp: 1441737473.83703 Access-Control-Allow-Origi

当我在对象上运行cURL以查看其HTTP响应头时(我只是添加了代理标志以模拟浏览器请求):

我有:

HTTP/1.1 200 OK Content-Length: 481005 Accept-Ranges: bytes Last-Modified: Tue, 08 Sep 2015 18:37:54 GMT ETag: e9f52648c48c707cb9c17e1871787ad8 X-Timestamp: 1441737473.83703 Access-Control-Allow-Origin: * Content-Type: audio/mpeg X-Trans-Id: tx6531dbbd8dc541eeaf824-0055f0765eiad3 Cache-Control: public, max-age=259169 Expires: Sat, 12 Sep 2015 18:11:11 GMT Date: Wed, 09 Sep 2015 18:11:42 GMT Connection: keep-alive HTTP/1.1200ok 内容长度:481005 接受范围:字节 最后修改:2015年9月8日星期二18:37:54 GMT ETag:e9f52648c48c707cb9c17e1871787ad8 X时间戳:1441737473.83703 访问控制允许来源:* 内容类型:音频/mpeg X-Trans-Id:TX6531DBD8DC541EEAF824-0055f0765eiad3 缓存控制:公共,最大年龄=259169 到期时间:2015年9月12日星期六18:11:11 GMT 日期:2015年9月9日星期三18:11:42 GMT 连接:保持活力 正如你所看到的,有一个 访问控制允许原点

但当我请求与Safari、Chrome或Firefox完全相同的URL时(无缓存):

接受范围:字节 缓存控制:公共,最大年龄=55773 连接:保持活力 内容长度:1 内容范围:字节203184-203184/480621 内容类型:音频/mpeg 日期:2015年9月9日星期三18:14:12 GMT ETag:B1D4C80B2D5D42A4 BF6C1AE5EFB289E6 到期时间:2015年9月10日星期四09:43:45 GMT 最后修改:2015年9月7日星期一09:19:19 GMT X时间戳:1441617558.54283 X-Trans-Id:txe8e3941ab1774f4d97794-0055ed5c71iad3 访问控制允许原点刚刚消失


知道为什么http响应头与cURL一起工作,而不与浏览器一起工作吗?谢谢

cURL和浏览器行为之间没有区别

在curl调用中添加-I标志时,发送一个“HEAD”请求。在浏览器中,这是一个“获取”请求

如果将此url卷曲为-i标志(-i在输出中包括HTTP头),则将丢失“访问控制允许源”行:

如果你打开你得到的文件:

HTTP/1.1 200 OK
Content-Length: 480621
Accept-Ranges: bytes
Last-Modified: Mon, 07 Sep 2015 09:19:19 GMT
ETag: b1d4c80b2d5d42a4bf6c1ae5efb289e6
X-Timestamp: 1441617558.54283
Content-Type: audio/mpeg
X-Trans-Id: tx76217fcbee85481d844ab-0055ed6d83iad3
Cache-Control: public, max-age=56913
Expires: Thu, 10 Sep 2015 10:57:04 GMT
Date: Wed, 09 Sep 2015 19:08:31 GMT
Connection: keep-alive

ID3.................................................................
....................................................................

这很奇怪,因为我在GET response上配置了它,但我看不到它。您在哪里配置的?在你的应用程序或服务器上?在rackspace上,问题可能来自rackspace?我真的不知道rackspace。但也许这会有所帮助:我是从一个不同的问题结束的,这个问题也与这个问题的标题相匹配。除了用户代理之外,gzip和http版本也值得一试(
curl--http1.1-H“Accept Encoding:gzip”
)。在我的例子中,gzip在我的服务器上被破坏,但它在curl中工作,因为curl没有像浏览器那样默认启用gzip。 Accept-Ranges:bytes Cache-Control:public, max-age=55773 Connection:keep-alive Content-Length:1 Content-Range:bytes 203184-203184/480621 Content-Type:audio/mpeg Date:Wed, 09 Sep 2015 18:14:12 GMT ETag:b1d4c80b2d5d42a4bf6c1ae5efb289e6 Expires:Thu, 10 Sep 2015 09:43:45 GMT Last-Modified:Mon, 07 Sep 2015 09:19:19 GMT X-Timestamp:1441617558.54283 X-Trans-Id:txe8e3941ab1774f4d97794-0055ed5c71iad3
curl -i -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36" http://b17db03a092ebf708b42-9afd7fe2d9c9c6937aeab44904ac3403.r3.cf5.rackcdn.com/artist/samplesong/13111c20aee51aeb480ecbd988cd8cc9.mp3 > C:/curl_return.log
HTTP/1.1 200 OK
Content-Length: 480621
Accept-Ranges: bytes
Last-Modified: Mon, 07 Sep 2015 09:19:19 GMT
ETag: b1d4c80b2d5d42a4bf6c1ae5efb289e6
X-Timestamp: 1441617558.54283
Content-Type: audio/mpeg
X-Trans-Id: tx76217fcbee85481d844ab-0055ed6d83iad3
Cache-Control: public, max-age=56913
Expires: Thu, 10 Sep 2015 10:57:04 GMT
Date: Wed, 09 Sep 2015 19:08:31 GMT
Connection: keep-alive

ID3.................................................................
....................................................................