【发布时间】:2012-02-26 22:12:27
【问题描述】:
我正在开发一个文件上传系统,它将把大文件的各个部分存储在多台服务器上。所以一个 1GB 文件的分布看起来像这样:
Server 1: 0-128MB
Server 2: 128MB-256MB
Server 2: 256MB-384MB
... etc
这样做的目的是考虑到冗余(每个部分将存在于多台服务器上)、安全性(没有一台服务器可以访问整个文件)和成本(分配带宽费用)。
我很好奇是否有人对我如何能够“诱骗”网络浏览器通过一个链接下载各个部分有意见。
我的想法是这样的:
- 浏览器链接到服务器 1,它提供完整文件的内容大小
- 提供 128MB 后,服务器 1 将有意关闭连接
- 希望浏览器会尝试重新启动下载,请求服务器 1
- 服务器 1 提供到服务器 2 的 3XX 重定向
- 浏览器继续从服务器 2 下载
我不确定我的示例是否有效,因为我尚未对其进行测试。我很好奇是否有人可能有其他解决方案?
我想让整个过程尽可能简单(理想情况下,除了简单的下载之外不需要任何工作)。我不希望用户必须使用另一个程序(即:将文件放在一起)。我也不想使用代理服务器,因为它会产生额外的带宽成本。
据我所知,没有用于编写文件的 javascript 解决方案,如果有的话,那就太好了。
【问题讨论】:
标签: javascript html http download