http代码206(部分内容)的真正含义是什么?


13

我正在构建一个页面(使用video.js,应该很重要),该页面可以容纳相当数量视频的播放器-单击图像缩略图上的按钮,然后将打开一个模态播放器,以播放视频。工作良好; 没什么大不了的。我的服务器是Apache 2.2.15,之前。

问题是:查看服务器日志时,我会看到每个视频的HTTP代码为206(部分内容)的条目,例如:

GET /videos/a_video.mp4 HTTP/1.1" 206 1130496 "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11"

我不确定这些条目的确切含义。加载此页面时,是否确实通过网络将1.1 MB的内容推送到了客户端,或者这仅仅是/如果用户确实请求文件时客户端打算使用的信息?将所有这些东西倾倒到用户/客户端上,对于某人的带宽(沿着我的站点的带宽),尤其是在移动连接上,是一件很费力的事情。(基于一些额外的日志分析,看来这些位确实得到了推动,但是与其他更多知识渊博的人进行检查无疑是正确的选择……)


“更多的东西”可能很重要。您可能应该包括它。
迈克尔·汉普顿

抱歉; 查看修改。这只是我在Mac / Safari中查看的页面,尽管我发现与其他浏览器的行为没有太大差异。
Jim Miller

Answers:


15

这对我来说似乎很正常。大多数视频(甚至音频!)播放器一次请求一小部分文件,然后在用户实际播放视频时请求更多。仅当用户代理专门请求文件的特定范围而不是整个文件时才发送206。


我认为这也是正常的。我的观点是,视频的第一部分是否实际上是在加载页面时推送给客户端的。您是说吗?
吉姆·米勒

1
Apache不会记录用户请求文件的一部分,但事实是用户提出了部分请求。因此,页面上的某些内容导致客户端加载了部分视频。
迈克尔·汉普顿

知道了-视频播放器很可能会初始化自己。谢谢!
吉姆·米勒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.