我昨天在FlashGet下载了一个200MB的文件,它显示它使用的是HTTP1.1协议。
我的印象是,HTTP是一个请求 - 响应协议,并且通常用于重量几KiB的网页......我不太明白它如何下载MB或GB的数据,并且同时通过5 (或更多)不同的流。下载管理器如何在没有多个请求的情况下在HTTP上下载大文件?
1
A
回答
5
HTTP/1.1有一个“范围”标题,可以指定通过连接传输文件的哪一部分。下载管理器可以建立多个连接,指定不同的传输范围。然后它将这些块组合在一起来构建完整的文件。
1
http没有大小限制。它用于网页的是,但它也用于在互联网上提供绝大部分内容。这更多的是限制大小的带宽问题,而不是协议本身。当然,这在早期是更多的限制。 (并且,我想,那些仍然拨号的)
+0
什么样的过程呢下载管理器使用下载使用,只需请求少数多个流,巨大的文件? –
0
+0
顺便说一句,我已经阅读了所有2天前,但我仍然无法理解下载管理器和HTTP 1.1的基本知识... –
相关问题
- 1. 如何在1个http请求下上载多个文件
- 2. 如何在没有ActiveX的情况下创建多个文件下载器?
- 3. 如何在我的情况下处理多个http请求?
- 4. 如何在没有Ajax请求的情况下加载jqGrid?
- 5. 在没有下载的情况下检查S3上的文件大小?
- 6. 如何在Python中没有MemoryError的情况下下载大文件?
- 7. 如何在没有Ajax的情况下触发HTTP PUT请求?
- 8. 如何在我的情况下做出多个http请求?
- 9. 在没有完整下载的情况下阅读zip文件
- 10. 在没有下载的情况下在ftp上运行jarfile
- 11. 如何在没有任何请求,会话等情况下获取上下文?
- 12. 如何在没有Feature.xml文件的情况下卸载功能?
- 13. 如何在没有Xcode崩溃的情况下下载身份?
- 14. 如何在没有作曲家的情况下下载laravel 4?
- 15. Linux:如何在不下载的情况下检查ftp上文件的大小
- 16. 如何在没有中间文件存储的情况下下载XML文档?
- 17. 在没有下载的情况下在网页上查看PDF文件?
- 18. 在没有弹出窗口的情况下在ascx上下载文件链接
- 19. 通过Android下载管理器下载大文件
- 20. 在不知道大小的情况下下载文件
- 21. 如何在文件已下载的情况下更新下载图标
- 22. 如何在没有下载文件的情况下阅读pdf中的view.html
- 23. 如何在没有请求的情况下调度symfony事件
- 24. 有没有办法在Silverlight中没有Webclient的情况下下载文件?
- 25. 在没有NSWindowController的情况下加载一个nib文件?
- 26. 只有在存在ruby的情况下才能下载文件
- 27. 在没有点击任何下载按钮的情况下自动下载新上传的文件
- 28. android在没有AsyncTask的情况下执行HTTP请求?
- 29. Java下载器 - 下载多个文件
- 30. 在C#中使用下载管理器下载文件
如果连接中断或死亡,它如何知道从哪里开始?在这种情况下,它如何跟踪传输字节等? –
只需通过计算接收到的字节数,下载程序就能知道在给定的连接上传输了多少数据。然后它可以建立一个新的连接,并指定一个字节范围来传输在传输字节后开始的字节。 下载过程基本上是: 1.检索数据文件的长度 2.计算要传输的数据块的数量例如:将文件分解为1MB块 3.启动多个并行连接,传输这些块 即块称为字节1-1000000,1000001-2000000等等。 –