斷點續傳指的是在下載或上傳時,將下載或上傳任務(一個文件或一個壓縮包)人為的劃分為幾個部分,每一個部分採用一個線程進行上傳或下載,如果碰到網路故障,可以從已經上傳或下載的部分開始繼續上傳下載未完成的部分,而沒有必要從頭開始上傳下載。用戶可以節省時間,提高速度 使用多線程斷點續傳下載的時候,將下載或上 ...
斷點續傳指的是在下載或上傳時,將下載或上傳任務(一個文件或一個壓縮包)人為的劃分為幾個部分,每一個部分採用一個線程進行上傳或下載,如果碰到網路故障,可以從已經上傳或下載的部分開始繼續上傳下載未完成的部分,而沒有必要從頭開始上傳下載。用戶可以節省時間,提高速度 使用多線程斷點續傳下載的時候,將下載或上傳任務(一個文件或一個壓縮包)人為的劃分為幾個部分,每一個部分採用一個線程進行上傳或下載,多個線程併發可以占用伺服器端更多資源,從而加快下載速度。 在下載(或上傳)過程中,如果網路故障、電量不足等原因導致下載中斷,這就需要使用到斷點續傳功能。下次啟動時,可以從記錄位置(已經下載的部分)開始,繼續下載以後未下載的部分,避免重覆部分的下載。斷點續傳實質就是能記錄上一次已下載完成的位置。 斷點續傳的過程 ①斷點續傳需要在下載過程中記錄每條線程的下載進度; ②每次下載開始之前先讀取資料庫,查詢是否有未完成的記錄,有就繼續下載,沒有則創建新記錄插入資料庫; ③在每次向文件中寫入數據之後,在資料庫中更新下載進度; ④下載完成之後刪除資料庫中下載記錄。 斷點續傳在HTTP請求上和一般的下載有所不同,客戶端瀏覽器傳給Web伺服器的時候要多加一條信息——從哪裡開始(HTTP請求變數)。要實現HTTP斷點續傳,Web伺服器必須支持HTTP/1.1(相對於HTTP/1.0老版本)。 HTTP請求是有一個Header的,裡面有個Range屬性是定義下載區域的,它接收的值是一個區間範圍,比如:Range:bytes=0-10000。這樣我們就可以按照一定的規則,將一個大文件拆分為若幹很小的部分,然後分批次的下載,每個小塊下載完成之後,再合併到文件中;這樣即使下載中斷了,重新下載時,也可以通過文件的位元組長度來判斷下載的起始點,然後重啟斷點續傳的過程,直到最後完成下載過程。 FTP實現斷點續傳 FTP協議也可以支持斷點續傳下載數據,基本原理是用get命令拿數據的時候在文件名後面加上要獲取的起始位置。FTP實現斷點續傳有三個條件: ①斷點續傳需要伺服器的支持,FTP伺服器必須能提供斷點續傳的功能。 傳統的FTP Server是不支持斷點續傳的,因為它不支持REST指令;目前包括IIS和大部分的FTP架設軟體都有了這個功能。用Serv-U架設FTP伺服器就能支持斷點續傳。 ②支持斷點續傳的下載工具軟體 QQ旋風、迅雷、影音傳送帶等大多下載軟體都支持斷點續傳;IE瀏覽器5.0以前的版本預設的自帶下載方式不支持斷點續傳。在手機上,UC瀏覽器支持斷點續傳,能夠自動存儲已下載的部分,重新打開之後可以繼續在已下載部分的基礎上繼續下載。 ③FTP伺服器上的文件要與下載到硬碟中的文件名相同。 在使用IE下載文件時,遇到網路中斷,不需要重新啟動機器,也可實現斷點續傳。前提是,在恢復下載、開始斷點續傳並提示再次保存文件時,要使用和第一次下載時相同的路徑和文件名。 斷點續傳的特點 斷點續傳支持從文件上次中斷的地方開始傳送數據,而並非是從文件開頭傳送。 斷點續傳下載軟體具有以下特點: 1、斷點續傳功能,既可節約時間又可以節約金錢。 2、定時下載功能,可以為將要下載的軟體制定一任務列表,讓下載軟體在規定的時間自動撥號上網並下載軟體,下載完畢後再自動掛起Modem,斷開與internet的連接,甚至自動關閉電腦。 3、多文件同時下載。 4、支持拖放式操作,可將下載文件的URL超鏈接用滑鼠拖放到下載軟體的視窗上,即可激活下載軟體,同時開始文件的下載。 5、自動捕捉剪貼板上的URL並激活下載軟體,可以捕捉到剪貼板中的URL,甚至瀏覽器中單擊下載文件超鏈接,即可激活程式實現文件的下載。 6、致命錯誤發生時的關閉機制。 7、預防病毒侵害的安全機制,文件下載完畢,即可自動將其發送到指定的病毒的檢測軟體進行病毒掃描。 斷點續傳下載軟體包括Thunder、NetAnts、FlashGet、Net Vampire、Download Manager、GetRight、Go!Zilla、WinDownload等。