我工作的一個項目,該項目將允許大文件(GB +)通過HTTP PUT上傳,我需要實現恢復上傳的方法的最佳途徑。一旦文件被上傳並完成,它就完成並且不能被修改。到目前爲止,我心裏有兩個選擇,但兩者都不合身:如果它不存在或文件建議執行HTTP上傳簡歷
選項1
客戶端發送的文件的初始HEAD請求,這將返回404細節包括與沿着X-Can-Resume
或類似的東西線的HTTP X標頭沿電流的大小來指定文件是否可以恢復和Range
頭指定哪個字節具有。這看起來不錯,但我不喜歡X標頭,因爲它從HTTP標準中刪除。
選項2
客戶端發送與0字節的Content-Length
頭和沒有身體的PUT請求時,服務器可以發送回一個308 Resume Incomplete
(如這裏http://code.google.com/p/gears/wiki/ResumableHttpRequestsProposal提出)或202 Accepted
報頭以指示是否恢復或從頭開始。除了使用非標準標題外,這似乎也是可以接受的。
上實現這一目標的最佳途徑的任何其他建議?
感謝, Ĵ
是的,我會被編碼在客戶端和服務器實現。我知道Gears已經死了,但這是我發現解決問題的最接近的東西。我正在使用簽名來驗證數據,但我不確定是否需要啓動轉移的最佳方式。目前我正朝着選項2的方向前進,但在這一點上我仍然不確定。 – JWood 2011-06-14 16:27:35