curl -i --range 0-9 http://www.baidu.com/img/bdlogo.gif
HTTP/1.1 206 Partial Content
Date: Thu, 13 Mar 2014 00:20:10 GMT
Server: Apache
P3P: CP=" OTI DSP COR IVA OUR IND COM "
Set-Cookie: BAIDUID=AC9512E1E6932D67A05F4F090DE836FC:FG=1; expires=Fri, 13-Mar-15 00:20:10 GMT; 

max-age=31536000; path=/; domain=.baidu.com; version=1
Last-Modified: Fri, 22 Feb 2013 03:45:02 GMT
ETag: "627-4d648041f6b80"
Accept-Ranges: bytes
Content-Length: 10
Cache-Control: max-age=315360000
Expires: Sun, 10 Mar 2024 00:20:10 GMT
Content-Range: bytes 0-9/1575
Connection: Keep-Alive
Content-Type: image/gif

上面是curl获取到的响应头信息,其中如果能够找到Content-Range则表明服务器支持断点续传,有些服务器还会返回Accept-Ranges。

Accept-Ranges:表明服务器是否支持指定范围请求及哪种类型的分段请求

Content-Range:在整个返回体中本部分的字节位置,因为我们请求的是图片的前10个字节,所以Content-Range的值是bytes 0-9/1575,后面的1575是图片总的字节数。

另一种方法

wget -S http://www.baidu.com/img/bdlogo.gif 2>&1 | grep 'Accept-Ranges'

如果能看到输出Accept-Ranges,则表明服务器支持断点续传,否则不支持。

Nginx服务器默认支持断点续传的,无线做任何额外配置。

转载请注明:知识蚂蚁 » 通过curl测试服务器是否支持断点续传

我来说说

(便于我们更好的交流)

有不明白的地方欢迎留言哦~
取消