Range回源和视频拖拽播放

1. Range回源

Range回源是指客户端通知源站服务器只返回部分内容,以及部分内容的范围。这对于较大文件的分发加速有很大帮助。开启Range回源功能,可以减少回源流量消耗,并且提升资源响应时间。

需要源站支持range请求,即对于http请求头中包含 Range 字段,源站能够响应正确的206文件分片。

 
Range回源 具体描述 示例
开启 该参数可以请求回源站。此时源站需要依据 Range 的参数,响应文件的字节范围。同时CDN节点也会向客户端响应相应字节范围的内容。 客户端向CDN请求中含有range:0-100,则源站端收到的请求中也会含有range:0-100这个参数。并且源站响应给CDN节点,然后CDN节点响应给客户端的就是范围是0-100的一共101个字节内容。
关闭 CDN上层节点会向源站请求全部的文件,并且由于客户端会在收到Range定义的字节后自动断开http链接,请求的文件没有缓存到CDN节点上。最终导致缓存的命中率较低,并且回源流量较大。 客户端向CDN请求中含有range:0-100,则server端收到的请求中没有range这个参数。源站响应给CDN节点完整文件,但是CDN节点响应给客户端的就是101个字节,但是由于连接断开了,会导致该文件没有缓存到CDN节点上。
说明
需要源站支持range请求,即对于http请求头中包含 Range 字段,源站能够响应正确的206文件分片。

2. 视频拖拽播放

拖拽播放功能是指:在视频点播场景中,如果用户拖拽播放进度时,客户端会向服务器端发送类似 http://www.test.com/test.flv?start=10 的URL请求。此时,服务器端会向客户端响应从第10字节的前一个关键帧(如果start=10不是关键帧所在位置)的数据内容。

开启该功能,CDN节点可以支持此项配置,可以在响应请求时直接向client响应从第10字节的前一个关键帧(如果start=10不是关键帧所在位置)(FLV格式)或第10s(MP4格式)开始的内容。

注意事项

  • 需要源站支持range请求,即如果http请求头中包含 Range 字段,源站需要能够响应正确的206文件分片。
  • 目前支持文件格式有:MP4和FLV。
 
文件类型 meta信息 start参数 举例
MP4 源站视频的meta信息必须在文件头部,不支持meta信息在尾部的视频。 start参数表示的是时间,单位是s,支持小数以表示ms(如start=1.01,表示开始时间是1.01s),CDN会定位到start所表示时间的前一个关键帧(如果当前start不是关键帧)。 请求http: //domain/video.mp4?start=10就是从第10秒开始播放视频。
FLV 源站视频必须带有meta信息。 start参数表示字节,CDN会自动定位到start参数所表示的字节的前一个关键帧(如果start当前不是关键帧)。 对于http: //domain/video.flv,请求http:// domain/video.flv?start=10就是从第10字节的前一个关键帧(如果start=10不是关键帧所在位置)开始播放视频。

猜你喜欢

转载自blog.csdn.net/Kim_Weir/article/details/85336313