标签:byte 网络 list evel 成功 tps 参考资料 href 不一致
OTA升级时,下载升级包做了断点下载
Range:告诉服务端从指定位置下载
一个1000字节的资源,Range可以设置为0~999,0表示第一字节
Range 的范围格式
表示0-499个字节范围:Range: bytes=0-499
表示最后500个字节范围:Range: bytes=-500
表示500字节开始到结束范围:Range: bytes=500-
表示第一个和最后一个字节:Range: bytes=0-0,-1
表示同时指定几个范围:Range: bytes=500-600,601-999
If-Unmodified-Since: (非必须)携带上一次请求时,服务端返回的Last-Modified,如果有更新,则返回412
If-None-Match: (非必须)携带上一次请求时,服务端返回的ETag,如果不一致,返回304
code
code 206: 表示partial content
code 416: 表示请求范围错误,比如1000字节的资源,Range:bytes=1000-,则返回416
Accept-Ranges: 是否支持断点
Accept-Ranges: bytes (支持)
Accept-Ranges: none (不支持)
Content-Range: bytes 100-200/5000 body中是100-200的内容,资源总长度5000
ETag: (非必须)资源标识,用于同一位置的资源有更新时,断点下载时携带上次的Etag,服务端作比对
Last-Modified:(非必须) 资源最后一次更新的时间,作用同ETag
参数:
第一次下载时,可以不带Range,此时返回200,资源总长度在Content-Length字段。
第一次下载时,可以带Range:bytes=0-,返回206,资源总长度在Content-Range字段。
文件已存在,带Range:bytes请求
不使用ETag/Last-Modified时,可以使用response header中的校验字段作最后的检验。
标签:byte 网络 list evel 成功 tps 参考资料 href 不一致
原文地址:https://www.cnblogs.com/pukaifei/p/11272731.html