范围请求

范围请求会在 GET 请求中添加一个 Range 标头,例如 bytes=0-1023。支持范围请求的服务器会返回 206 Partial Content 状态码,仅包含这些字节以及一个 Content-Range 标头,用于说明这些字节是整体的哪一部分。服务器会使用 Accept-Ranges: bytes 标头来声明支持范围请求;如果服务器忽略此标头,则会返回完整的资源,状态码为 200。

工作原理

下载管理器通过请求 bytes=<已接收>- 来恢复中断的传输;视频播放器请求当前播放位置附近的字节范围;大文件可以分块并行下载。服务器无法满足的范围(例如超出资源末尾或格式错误)会返回 416 Range Not Satisfiable 错误。

误解

对范围请求返回 200 状态码是错误的。这是一个有效的响应,意味着服务器不支持范围请求;客户端必须同时处理范围请求和完整请求,并且不能将完整的响应体附加到它认为正在恢复的部分下载中。

点击这里试试

GET /storage/v1/objects/{key}接受 Range: bytes=start-end,返回 206 表示切片,返回 416 表示范围超出末尾或范围格式错误,返回 200 表示整个对象(如果未发送 Range)。

资料来源

其他术语

阅读英文版

所有术语 · 测试技巧 · 全部 39 个模拟 REST API

最后更新时间