断点续传功能是HTTP/1.1才支持的功能,因此要确保服务器的http版本在HTTP/1.1以上
使用curl指令指定参数,根据返回值就可以判断;
curl -i --range 100-9000 服务器文件路径
100-9000:是指定的要现在范围,100表示从文件的第100个字节开始(0开始计数),9000表示下载到第9000个字节(可省略,表示下载到文件结束)
向服务器发送该请求后,服务器会返回响应,如果在响应中能够找到 Content-Range,则表明服务器支持断点续传。
Range参数,指定第一个字节和最后一个字节的位置,一般格式为: Range: bytes=start-end
例如:
Range: bytes=0-100 表示文件的第0个字节开始,到第100个字节结束
Range: bytes=-100 表示文件的最后500 字节
Range: bytes=100- 表示从第100字节开始到文件结束
在服务器响应时, 会带上参数Content-Range头部返回当前接受的范围和文件总大小,一般格式为:
Content-Range: bytes start-end/size
用法和上面类似,size可以指定文件总大小,不知道直接写成*
在响应头上
不使用断点续传返回:HTTP/1.1 200 Ok
使用断点续传:HTTP/1.1 206 Partial Content
未完待续,主要应用python实现服务器和libcurl之间交互