我正在研究一個文件上傳系統,它將在多臺服務器上存儲大文件的各個部分。因此,一個1GB的文件的分佈將是這個樣子:下載一個文件,存儲在多臺服務器上的文件(HTTP)
Server 1: 0-128MB
Server 2: 128MB-256MB
Server 2: 256MB-384MB
... etc
這樣做的目的是允許冗餘(每個部分會存在多臺服務器上),安全性(沒有一臺服務器可以訪問整個文件)和成本(分配帶寬費用)。
我很好奇,如果有人對我如何能夠「欺騙」網絡瀏覽器下載各個部分全部在一個鏈接的意見。
我腦子裏想的是什麼東西,如:
- 瀏覽器連接到服務器1,它提供完整的文件
- 一旦128MB送達的內容大小,服務器1將故意關閉連接
- 希望,瀏覽器將嘗試重新啓動下載,請求服務器1
- 服務器1提供了3XX重定向到服務器2
- 瀏覽器將繼續從服務器2下載
我不確定我的例子是否有效,因爲我還沒有測試過它。我很好奇,如果有其他解決方案可能有?
我想讓整個過程儘可能簡單(理想情況下,除了簡單的下載之外,不需要任何工作)。我不希望用戶必須使用另一個程序(即:一起抓取文件)。我也不想使用代理服務器,因爲它會帶來額外的帶寬成本。
據我所知,沒有JavaScript解決方案寫一個文件,如果有一個,那將是偉大的。
re:同源,請參閱JSONP – Greg 2012-02-26 23:06:00