javascript - 下载一个文件,片段存储在多个服务器上(HTTP)

标签 javascript html http download

我正在开发一个文件上传系统,它将大文件的各个部分存储在多个服务器上。所以 1GB 文件的分布看起来像这样:

Server 1: 0-128MB
Server 2: 128MB-256MB
Server 2: 256MB-384MB
... etc

这样做的目的是考虑到冗余(每个部分将存在于不止一台服务器上)、安全性(没有一台服务器可以访问整个文件)和成本(分配带宽费用)。

我很好奇是否有人对我如何能够“欺骗”网络浏览器在一个链接中下载各个部分有意见。

我的想法是这样的:

  1. 浏览器链接到服务器 1,它提供完整文件的内容大小
  2. 一旦提供了 128MB,服务器 1 将有意关闭连接
  3. 希望浏览器会尝试重新开始下载,请求服务器 1
  4. 服务器 1 提供到服务器 2 的 3XX 重定向
  5. 浏览器继续从服务器 2 下载

我不确定我的示例是否有效,因为我尚未对其进行测试。我很好奇是否有人可能有其他解决方案?

我想让整个过程尽可能简单(理想情况下除了简单的下载外不需要任何工作)。我不希望用户必须使用另一个程序(即:将文件放在一起)。我也不想使用代理服务器,因为它会产生额外的带宽成本。

据我所知,没有用于编写文件的 javascript 解决方案,如果有的话,那就太好了。

最佳答案

据我所知,使用 HTTP 协议(protocol)是不可能的。您可能可以使用自定义浏览器扩展,但这取决于浏览器。另一种方法是创建一个 Java 小程序,它可以从不同的服务器下载文件。该小程序可以接受不同服务器的 URL 作为参数。

关于javascript - 下载一个文件,片段存储在多个服务器上(HTTP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9457693/

相关文章:

html - 将表单中心的标签放置在 twitter bootstrap 中

c++ - 用 C++ 将视频上传到 ScreenCast.com

http - HTTP get 请求字符串的正确编码是什么?

javascript - 如何在没有 ASYNC : FALSE 的情况下继续之前等待每个循环中的 AJAX 调用完成

javascript - 获取当前 URL 未获取 ID、基于类的过滤器

javascript - 将 JavaScript 日期对象格式化为特定格式

javascript - 使用逻辑的 Typescript 工厂类

css - 获取 2 图像垂直对齐

php - 无法设置背景图片

Python urllib2 给出错误 503