我正在开发一种服务,人们可以同时传输多个音频文件。
不幸的是,当同时传输大约4个流时,Chrome的HTTP连接限制似乎开始了:当前一个连接关闭时,新的流请求只能在服务器上运行。
有趣的是,我可以在YouTube上同时播放10多个视频。
YouTube可以使用哪种技术来规避浏览器的同时http连接限制?
答案 0 :(得分:1)
我认为关键点是YouTube流不是由浏览器直接控制的,它们是嵌入式Flash播放器,它使用由Flash处理的流。如果你想将流媒体流程移交给外部应用程序/库(Flash,Java等),你可以很容易地规避这些限制。
另一点是,YouTube有一个巨大的CDN,因此无法保证您从同一台服务器获取任何两个视频,这也有助于规避并发限制(至少在某一点上)。
我很惊讶Chrome会在一段时间后阻止你,因为谷歌前一段时间做了很多关于浏览器并发性和相对效率的研究和实验,我记得在某个地方读到他们认为3-4个并发连接到相同的服务器代表了直接HTTP上最有效的数据传输架构。令人讨厌的是,我找不到一个有信誉的资料来引用它(尽管我从一开始就得到了它),但this是相关的,可能是同一研究计划的一部分。
这也是Facebook大量参与的研究,你可能会在http://developers.facebook.com/找到一些有用的信息,如果你可以通过垃圾筛选来找到它......