HTTP状态码206和416
1、如何判断远程服务器是否支持HTTP 206
其中有两个我们比较关注的请求头:
Accept-Ranges: bytes - 该响应头表明服务器支持Range请求,以及服务器所支持的单位是字节(这也是唯一可用的单位).我们还能知道:服务器支持断点续传,以及支持同时下载文件的多个部分,也就是说下载工具可以利用范围请求加速下载该文件.Accept-Ranges: none 响应头表示服务器不支持范围请求.
Content-Length: 913 Content-Length响应头表明了响应实体的大小,也就是真实的图片文件的大小是913字节 .
2、发送Range请求
在http请求header里带上头:Range: bytes=0-1024
curl -v -s --header "Range: bytes=0-2000" http://images2015.cnblogs.com/news/24442/201608/24442-20160805112458981-1554012564.jpg -o part1
3、web服务器开启Accept-Ranges
略
4、HTTP 416错误与断点续传
HTTP response code: 416是由于读取文件时设置的Range有误造成的,具体的说就是下面这行代码有误: httpConnection.setRequestProperty("RANGE", "bytes=1024-"); 这个RANGE显然不能超出文件的size
比如文件大小为10M,指定11M-就会错误