上海浦东网站建设,天津网站建设招标,摄影网站难做吗,佛山新网站建设渠道一、概述所谓断点续传#xff0c;其实只是指下载#xff0c;也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的#xff0c;HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传#xff0c;需…一、概述 所谓断点续传其实只是指下载也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传需要自己实现。二、Range 用于请求头中指定第一个字节的位置和最后一个字节的位置一般格式 Range:bytes[first byte pos]-[last byte pos] 1.以下几点需要注意 (1)这个数据区间是个闭合区间起始值是0所以“Range: bytes0-1”这样一个请求实际上是在请求开头的2个字节。 (2)“Range: bytes-200”它不是表示请求文件开始位置的201个字节而是表示要请求文件结尾处的200个字节。 (3)如果last byte pos小于first byte pos那么这个Range请求就是无效请求server需要忽略这个Range请求然后回应一个200把整个文件发给client。 (4)如果last byte pos大于等于文件长度那么这个Range请求被认为是不能满足的server需要回应一个416Requested range not satisfiable。 2.示例解释 表示头500个字节bytes0-499 表示第二个500字节bytes500-999 表示最后500个字节bytes-500 表示500字节以后的范围bytes500- 第一个和最后一个字节bytes0-0,-1 同时指定几个范围bytes500-600,601-999 三、Content-Range 用于响应头指定整个实体中的一部分的插入位置他也指示了整个实体的长度。在服务器向客户返回一个部分响应它必须描述响应覆盖的范围和整个实体长度。一般格式 Content-Range: bytes (unit first byte pos) - [last byte pos]/[entity legth] 四、Header示例 请求下载整个文件: GET /test.rar HTTP/1.1 Connection: close Host: 116.1.219.219 Range: bytes0-801 //一般请求下载整个文件是bytes0- 或不用这个头 一般正常回应 HTTP/1.1 200 OK Content-Length: 801 Content-Type: application/octet-stream Content-Range: bytes 0-800/801 //801:文件总大小部分内容转载自http://www.liqwei.com/network/protocol/2011/886.shtml