URL查询参数中的Nginx范围请求

ugg

我正在构建HLS / DASH流服务器,今天我发现使用具有范围请求的单个大文件比许多小文件要好-这是Netflix和YouTube目前正在做的事情。

但有个问题; 由于我的视频CDN和实际播放器页面具有不同的域(例如netflix.com-nflxvideo.net),CORS进入并随每个请求发送一个OPTION请求。由于播放器发送了很多请求,因此浪费了字节。

Netflix(也使用nginx)和YouTube通过在URL或查询中发送范围来解决此问题,因此浏览器不会发送OPTION请求: https://xx.nflxvideo.net/range/0-64209238?o=...

我正在Nginx中尝试实现相同的目的,但是4个小时我找不到任何方法。我们将文件存储在服务器中,因此我们正在使用sendfile。

谢谢!

ugg

我找不到执行该操作的方法,但是出于不浪费资源使用OPTIONS请求的主要目的,有Access-Control-Max-Age用于缓存OPTIONS请求的标头。

基本上将其设置为Firefox的最长为86400秒(24小时),并且可以正常工作。

我之前跳过了此标头,因为它在Chrome中是10分钟,但是很显然,自Chrome 76以来已增加到2小时。由于我们的视频的平均时长为100分钟,因此绰绰有余。

有关标题的更多信息在这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章