---

title: HTTP Range 请求:断点续传、206 与 If-Range

keywords:

  • Range
  • Accept-Ranges
  • Content-Range
  • 206 Partial Content
  • If-Range
  • 416

description: 系统讲解范围请求的请求/响应头、状态码与条件请求机制,解释断点续传与多线程下载的实现要点与错误处理。

categories:

  • 文章资讯
  • 编程技术

---

概述

范围请求允许客户端仅获取资源的一部分,用于断点续传、在线播放与多线程下载。服务器以 206 Partial Content 响应匹配的内容范围,或以 416 表示请求范围无效。

请求与响应头

  • 客户端:Range: bytes=start-end 指定字节范围;可请求多个区间。
  • 服务器:Accept-Ranges: bytes 表示支持范围请求;响应携带 Content-Range 描述返回的区间与总长度[参考1,4]。

条件范围:If-Range

  • If-Range 让范围请求具备条件性:若验证器(ETagLast-Modified)匹配则返回部分内容,否则返回完整资源(200 OK)。避免内容变化后错误续传[参考1,4]。

错误与边界

  • 超出范围返回 416 Requested Range Not Satisfiable;客户端需回退为完整下载或调整区间[参考1,4]。
  • 与分块传输兼容,可独立或联合使用。

参考与验证

  • [参考1]MDN 中文:HTTP 范围请求与头/状态码说明:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Guides/Range_requests
  • [参考2]博客:Range/If-Range/Content-Range/Accept-Ranges 的详解与示例:https://www.cnblogs.com/cangqinglang/p/12315703.html
  • [参考3]博客:范围请求原理与断点续传/多线程下载实践:https://www.cnblogs.com/plokmju/p/http_range.html
  • [参考4]MDN 英文:范围请求指南与示例:https://mdn.org.cn/en-US/docs/Web/HTTP/Range_requests
  • [参考5]CSDN:范围请求与分块传输的兼容性与实现说明:https://blog.csdn.net/liuxiao723846/article/details/128665109

关键词校验

关键词覆盖 Range/206/If-Range 与断点续传,与正文一致。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部