2013-01-19 76 views
2

我想在我的应用程序调试远程请求的问题,所以我一直在使用curl看头。如果我做curl -v -H "Range: bytes=200-100" THEURL服务器响应:为什么apache接受这个无效的范围请求?

< HTTP/1.1 206 Partial Content 
< Date: Sat, 19 Jan 2013 17:46:52 GMT 
< Server: Apache 
< Content-Range: bytes 200-100/1096985137 
< Etag: --REDACTED BY OP-- 
< Transfer-Encoding: chunked 
< Content-Type: application/x-zip-compressed 

会不会返回206暗示的含量范围是有效的,并且范围将被送达?

我注意到的另一件事是,即使我使用有效但小的内容范围(例如Range: bytes=0-100),服务器也会使用206作出响应,但发送的路数多于100字节。 我做错了什么?

编辑:似乎无论什么范围我送这台服务器,我总是回来的完整下载。奇怪。

+0

你能否提供更多的2个信息:1的Apache的版本和2。如果你有一个非压缩的内容(如图像文件)相同的结果?我试图复制问题,并得到了充分有效载荷但'200',而不是'206',所以无效的范围可能被视为负数,从而为“无极限”,但也许本身版本或内容类型之间不同的响应。 – Anthony

+0

不幸的是,它是一个军用服务器,我能得到的唯一信息是服务器返回的服务器头。当我尝试使用range:'Range:bytes = 0-1'或'Range:bytes = 1-0'来下载'.sig'文件时,我总是返回一个206和整个文件大小。 –

+0

可能是一个http://httpd.apache.org/security/CVE-2011-3192.txt反应中,修正直到补丁中的一个出来是惹Range头。 – Perleone

回答

0

我会继续前进,回答我的问题,尽管答案是不令人满意的。原来,这只是在服务器上运行的Apache版本的一个错误。一旦服务器更新,问题就解决了。