Chrome在下载MP4video(〜34MB)时请求太多请求(〜22000)

我们在我们的网站上托pipe一些video文件(mp4)。

所有的文件在谷歌浏览器中加载的速度太慢,在FF中一切正常。
我testing了一个大小为34MB的文件的下载(我通过直接链接打开文件)。 结果是:

  • Chrome制作了〜22000 (!)个请求,传输了982MB
  • Firefox只提出了5个请求。

作为服务器,我们使用nginx默认(与video文件服务有关)设置。

这里的交互(前五个请求)包括Chrome和服务器。 仅包含RangeContent-LengthContent-Range标题。
(< – 由Chrome发送的标题,< – 由服务器发送的标题):

 > Initial request for file, usual GET < Content-Length:35690389 < Content-Type:video/mp4 Then a bunch of similar requests, on which the server responded with 206 status code: --- > Range:bytes=0- < Content-Length:35690389 < Content-Range:bytes 0-35690388/35690389 --- > Range:bytes=29100305- < Content-Length:6590084 < Content-Range:bytes 29100305-35690388/35690389 --- > Range:bytes=35566374- < Content-Length:124015 < Content-Range:bytes 35566374-35690388/35690389 --- > Range:bytes=32- < Content-Length:35690357 < Content-Range:bytes 32-35690388/35690389 

看起来Chrome似乎误解了一些从服务器发送的头文件(例如Range),并且多次下载相同的文件。

什么可能导致这个问题? 有任何想法吗?

    这个问题是由video文件引起的(即使用了转换器)。
    造成这个问题的文件已经被Format Factory v2.6转换。
    升级到v3.7后,恢复问题消失。

    是什么让Chrome在播放这样的video时发出如此多的请求还不得而知…