我们要求所有下载请求都具有有效登录(非http),并且我们为每次下载生成交易票据.如果您要访问其中一个下载链接并尝试"重播"该交易,我们会使用HTTP代码转发您以获取新的交易单.这适用于大多数用户.但是,有一小部分人正在使用下载加速器,它只是尝试多次重放交易票据.
因此,为了确定我们是否想要或甚至可以支持下载加速器,我们正试图了解它们的工作原理.
如何与提供静态文件的Web服务器建立第二个,第三个甚至第四个并发连接,以加快下载过程的速度?
加速器程序有什么作用?
您将在维基百科上获得有关下载加速器的更全面的概述.
托管/加速下载的一个重要好处是有问题的工具会记住传输的启动/停止偏移,并使用"部分"和"范围"标头来请求文件的部分而不是全部.
这意味着如果某些事情在事务中死亡(即:TCP超时),它只是重新连接到它停止的位置而您不必从头开始.
因此,如果您有间歇性连接,则聚合传输时间会大大减少.
下载加速器就像使用相同的起始范围停止机制将单个传输分成几个相同大小的较小段,并且并行执行它们,这大大改善了慢速网络上的传输时间.
有一个叫做带宽延迟产品的烦人的事情,其中任何一端的TCP缓冲区的大小与ping时间一起做一些数学事情以获得实际经历的速度,这在实践中意味着大的ping时间将限制你的速度,无论如何所有临时连接都有很多兆比特/秒.
但是,此限制似乎是"每个连接",因此到单个服务器的多个TCP连接可以帮助减轻高延迟ping时间的性能损失.
因此,住在附近的人不太可能需要进行分段转移,但居住在远方地区的人更有可能从疯狂的分割中受益.
在某些情况下,可以找到提供相同资源的多个服务器,有时单个DNS地址循环到多个IP地址,或者服务器是某种镜像网络的一部分.下载管理器/加速器可以检测到这一点,并在多个服务器上应用分段传输技术,允许下载器获得更多的集体带宽.
支持第一种加速是我个人建议的"最小"支持.大多数情况下,因为它使用户的生活变得简单,并且由于用户不必重复获取相同的内容,因此减少了必须提供的聚合数据传输量.
为了方便这一点,它建议你,计算他们已经转移了多少,并且在它们看起来"完成"之前不会使票证到期(同时将流量绑定到使用票证的第一个IP),或者给定的"合理"时间下载它已经过去了.即:在要求获得新票之前给他们一个宽限之窗.
支持第二个和第三个给你奖励积分,用户通常希望它至少在第二个,主要是因为国际客户不喜欢仅仅因为更长的ping时间被视为二等客户,并且它不客观地消耗更多带宽在任何意义上都很重要.发生的最糟糕情况是,它们可能会导致您的总吞吐量不受服务运营的影响.
合理地直接提供第一种类型的好处,而不仅仅通过限制单个票证的并发传输数量来允许第二种类型.