图解:HTTP 范围请求,助力断点续传,太香了

本文详细介绍了HTTP范围请求,包括其在断点续传和在线播放中的应用。通过指定不同范围,如开始和结束的字节,实现灵活的资源请求。206 Partial Content状态码表明服务器返回了请求的部分内容。在资源变化时,ETag和Last-Modified可用于确认资源是否更新,防止下载错误。文中还通过Chrome播放视频的例子展示了范围请求的实际操作流程。
摘要由CSDN通过智能技术生成

Range 还有几种不同的方式来限定范围,可以根据需要灵活定制:

1. 500-1000:指定开始和结束的范围,一般用于多线程下载。

2. 500- :指定开始区间,一直传递到结束。这个就比较适用于断点续传、或者在线播放等等。

3. -500:无开始区间,只意思是需要最后 500 bytes 的内容实体。

4. 100-300,1000-3000:指定多个范围,这种方式使用的场景很少,了解一下就好了。

HTTP 协议是一种双边协商的协议,既然请求头部已经确定是使用 Ranges 了,还有响应头部中,也需要使用 Content-Ragne 这个响应头来标记响应的实体内容范围。

Content-Range 的格式也很清晰,首先标记它的单位是 bytes 然后标记当前传递的内容实体范围和总长度。

Content-Range: bytes 100-999/1000

在这个例子中,会传递 100 ~ 999 范围的内容实体,而该资源文件的总大小是 1000 bytes。并且此时的 HTTP 响应状态码为 206 Partial Content

HTTP 206 Partial Content 成功状态响应代码表示请求已成功,并且主体包含所请求的数据区间,该数据区间是在请求的 Range 首部指定的。

有关 206 状态码的解释可以参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/St

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值