video 标签视频请求多次的原理

转自:https://segmentfault.com/q/1010000005932321

请求视频这类文件的时候因为响应会很大,如果全部下载下来再播放会等待很长时间,用户体验不好,所以服务器会允许浏览器使用range头来请求视频的某一部分,并设置以206的响应码进行响应,来使浏览器可以边播放边请求,优化用户体验。所以会出现状态码为206的响应。

另一方面,浏览器只有在获取到视频的元信息(metadata)后才开始播放视频,而一般不经过优化的视频,其元数据信息存在视频文件末尾。所以会出现连续三个请求的情况:第一个请求是先从0字节找视频的元数据信息,没找到的话,会继续发起一个请求到视频末尾去找,等找到以后,又会重新开始一个请求从视频开头处开始请求,此时视频才开始播放。如果视频经过优化,元数据信息在视频开头,就只会有一个请求了,所以推荐使用HandBrake这类的工具对视频经过网络优化后再上传。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容