斷點續傳的原理


斷點續傳的理解可以分為兩部分:一部分是斷點,一部分是續傳。斷點的由來是在下載過程中,將一個下載文件分成了多個部分,同時進行多個部分一起的下載,當某個時間點,任務被暫停了,此時下載暫停的位置就是斷點了。續傳就是當一個未完成的下載任務再次開始時,會從上次的斷點繼續傳送。

 

使用多線程斷點續傳下載的時候,將下載或上傳任務(一個文件或一個壓縮包)人為的划分為幾個部分,每一個部分采用一個線程進行上傳或下載,多個線程並發可以占用服務器端更多資源,從而加快下載速度。
  在下載(或上傳)過程中,如果網絡故障、電量不足等原因導致下載中斷,這就需要使用到斷點續傳功能。下次啟動時,可以從記錄位置(已經下載的部分)開始,繼續下載以后未下載的部分,避免重復部分的下載。斷點續傳實質就是能記錄上一次已下載完成的位置。


 斷點續傳的過程
  ①斷點續傳需要在下載過程中記錄每條線程的下載進度;
  ②每次下載開始之前先讀取數據庫,查詢是否有未完成的記錄,有就繼續下載,沒有則創建新記錄插入數據庫;
  ③在每次向文件中寫入數據之后,在數據庫中更新下載進度;
  ④下載完成之后刪除數據庫中下載記錄。


斷點續傳在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下載文件時,遇到網絡中斷,不需要重新啟動機器,也可實現斷點續傳。前提是,在恢復下載、開始斷點續傳並提示再次保存文件時,要使用和第一次下載時相同的路徑和文件名。

 

Application與Session對象之間的區別。

1. 應用范圍不同。 Session是對應某一個用戶的。而Application是整站共用的。

2. 存活時間不同。Session是在站點的頁面從打開到被關閉之前一直生存的,關閉或跳轉到其它網站就會使Session死掉。而Application是從站點發布以來一直存活的,除非重啟了站點服務,IIS。

Session的中文是"會話"的意思,ASP中Session代表了服務器與客戶端之間的"會話" 。
利用Session可以存儲瀏覽者的一些特定信息,如:瀏覽者的姓名、性別、所用瀏覽器的類型以及訪問停留時間等。Session對個人信息的安全性構成了一定的威脅。

Application對象是一個應用程序級的對象,它包含的數據可以在整個Web站點中被所有用戶使用,並且可以在網站運行期間持久地保存數據

 

斷點續傳支持從文件上次中斷的地方開始傳送數據,而並非是從文件開頭傳送。
  斷點續傳下載軟件具有以下特點:
  1、斷點續傳功能,既可節約時間又可以節約金錢。
  2、定時下載功能,可以為將要下載的軟件制定一任務列表,讓下載軟件在規定的時間自動撥號上網並下載軟件,下載完畢后再自動掛起Modem,斷開與internet的連接,甚至自動關閉計算機。
  3、多文件同時下載。
  4、支持拖放式操作,可將下載文件的URL超鏈接用鼠標拖放到下載軟件的窗口上,即可激活下載軟件,同時開始文件的下載。
  5、自動捕捉剪貼板上的URL並激活下載軟件,可以捕捉到剪貼板中的URL,甚至瀏覽器中單擊下載文件超鏈接,即可激活程序實現文件的下載。
  6、致命錯誤發生時的關閉機制。
  7、預防病毒侵害的安全機制,文件下載完畢,即可自動將其發送到指定的病毒的檢測軟件進行病毒掃描。
  斷點續傳下載軟件包括Thunder、NetAnts、FlashGet、Net Vampire、Download Manager、GetRight、Go!Zilla、WinDownload等。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM