如果下载的数据量大,一般是多线程/并发下载快,无论你的服务器是否限速。
http协议基于TCP协议,要解释论题,首先你得理解TCP协议的流程:
1、TCP协议是面向数据流/stream的传输协议,会自动将你发送的数据分割为很多【小数据包】,以自动协调防火墙、网卡、路由器、物理线路对最大数据包的限制;
2、为了保证数据的可靠性,每发送一次【TCP窗口】大小的数据包群后,接收端会对这部分数据包进行排序和检查,发送端必须等待接收端的确认数据无误后,才能继续发送;


3、如上图所示,除了最初的三次握手和四次挥手外,中间的传输过程实则包含很多次的【DATA包/ACK包】的相互通讯;
4、比如你用单线程下载一个1GB的文件,也许其在TCP层面就包含了10000次的这种相互通讯,如果单次网络通讯的延时为30ms,那么你的下载就会由于网络延时而被浪费300s;
5、反之,如果你开了10条线程来下载,那么理论上网络延时就会被削减到30s。
注:关于TCP窗口大小如何确定和优化,有兴趣可以百度搜索【TCP Window Size】。