标题
http 断点续传中的 range 的字节范围是从 0 开始的 (只要一个字节的内容的话是 0-0 而不是 0-1)
clq
浏览(607) +
2020-06-03 21:29:44 发表
编辑
关键字:
[2021-05-06 22:14:17 最后更新]
http 断点续传中的 range 的字节范围是从 0 开始的 (只要一个字节的内容的话是 0-0 而不是 0-1)
以前一直没注意,直到自己想只取一个字节时发现 0-1 会取下两个字节!
而最后一个字节也不能乱写,如果写超过文件实际大小了有时候会造成灾难!例如在阿里云中会导致整个文件内容一起飞被下载下来!
因为以前接触的 nginx,apache,iis 这些其实都会纠错,所以写超过了也无所谓。没想到在阿里云这里就不行了。得精确计算 range 的终点位置。
就是说一个 1024 的文件,其他服务器是可以写 0-1024 的,但实际上严格来说应该是 0-1023 。
目前已知的错误情况如下表:
1.阿里云会返回整个文件,并且内容中不包含 range。
2.iis 会响应一个字节的结果,不过姿态值会设定为大于 400 的错误值。
依赖具体的服务器响应肯定不靠谱,所以还是我们自己精确算清楚吧。
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.