斷點上傳下載伺服器怎麼搭建
1. FTP該如何實現斷點續傳
客戶端的實現步驟如下:
一、下載:
1、向伺服器發送「REST + 本地文件長度」命令,告訴伺服器,客戶端要斷點下載了。這時伺服器還不知道客戶端要下載哪個文件;
要實現FTP的斷點續傳,FTP伺服器必須支持REST指令,這條指令在FTP協議文本RFC959中就已經定義了,不過它不是FTP伺服器必須支持的指令。一般,你可以在下載前使用REST 100命令進行實驗,如果伺服器正常執行了這條命令,說明該伺服器支持FTP斷點續傳。REST後面跟的數表示下載文件的起始位置,而REST 0表示從文件最開始處下載。REST命令本身並不執行下載功能,你仍需要使用RETR命令執行下載工作。
2、向伺服器發送「RETR + 文件名」命令,通知伺服器要下載的文件名,這時伺服器開始定位文件指針讀文件並發送數據。
3、客戶端定位本地文件指針(文件末尾);
4、兩端的准備工作都做完了以後,客戶端創建socket,以被動或非被動方式建立數據通道,循環調用recv接收數據並追加入本地文件;
二、上傳:
1、獲取伺服器上和本地要上傳文件的同名文件大小;
2、向伺服器發送「APPE + 文件名」,通知伺服器,接下來從數據通道發送給你的數據要附加到這個文件末尾。
3、定位本地文件指針(和FTP上文件大小相同的位置)
4、從文件指針處讀數據並發送。
代碼里將斷點上傳和斷點下載放到同一個函數(MoveFile)里,通過get參數說明是上傳還是下載。
2. 如何實現斷點續傳
其實斷點續傳的原理很簡單,就是在Http的請求上和一般的下載有所不同而已。 打個比方,瀏覽器請求伺服器上的一個文時,所發出的請求如下: 假設伺服器域名為w www.sjtu.e.cn,文件名為down.zip。 GET /down.zip HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms- excel, application/msword, application/vnd.ms-powerpoint, */* Accept-Language: zh-cn Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Connection: Keep-Alive 伺服器收到請求後,按要求尋找請求的文件,提取文件的信息,然後返回給瀏覽器,返回信息如下: 200 Content-Length=106786028 Accept-Ranges=bytes Date=Mon, 30 Apr 2001 12:56:11 GMT ETag=W/"02ca57e173c11:95b" Content-Type=application/octet-stream Server=Microsoft-IIS/5.0 Last-Modified=Mon, 30 Apr 2001 12:56:11 GMT 所謂斷點續傳,也就是要從文件已經下載的地方開始繼續下載。所以在客戶端瀏覽器傳給 Web伺服器的時候要多加一條信息--從哪裡開始。 下面是用自己編的一個"瀏覽器"來傳遞請求信息給Web伺服器,要求從2000070位元組開始。 GET /down.zip HTTP/1.0 User-Agent: NetFox RANGE: bytes=2000070- Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 仔細看一下就會發現多了一行RANGE: bytes=2000070- 這一行的意思就是告訴伺服器down.zip這個文件從2000070位元組開始傳,前面的位元組不用傳了。 伺服器收到這個請求以後,返回的信息如下: 206 Content-Length=106786028 Content-Range=bytes 2000070-106786027/106786028 Date=Mon, 30 Apr 2001 12:55:20 GMT ETag=W/"02ca57e173c11:95b" Content-Type=application/octet-stream Server=Microsoft-IIS/5.0 Last-Modified=Mon, 30 Apr 2001 12:55:20 GMT 和前面伺服器返回的信息比較一下,就會發現增加了一行: Content-Range=bytes 2000070-106786027/106786028 返回的代碼也改為206了,而不再是200了。 知道了以上原理,就可以進行斷點續傳的編程了。
3. 怎麼搭建下載伺服器
可以用分布式下載,這樣對伺服器影響很低,而且只要節點足夠多,下載速度比常規要快!
4. 怎樣創建FTP伺服器要支持斷點續傳。
一般FTP伺服器軟體都支持的,IIS的FTP也支持,只是IIS7以上需要開啟斷點續傳功能,默認是沒開啟的,IIS6默認是開啟了的。
5. 怎麼建立內網伺服器,讓員工能在伺服器上上傳和下載文件
你可以把你的伺服器設置共享,然後為不同文件夾設置共享許可權.
你也可使用軟體來配置FTP文件伺服器,推薦SERVER U
6. 如何讓伺服器支持斷點續傳
其實斷點續傳的原理很簡單,就是在Http的請求上和一般的下載有所不同而已。
打個比方,瀏覽器請求伺服器上的一個文時,所發出的請求如下: 假設伺服器域名為w ,文件名為down.zip。 GET /down.zip HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms- excel, application/msword, application/vnd.ms-powerpoint, */* Accept-Language: zh-cn Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Connection: Keep-Alive 伺服器收到請求後,按要求尋找請求的文件,提取文件的信息,然後返回給瀏覽器,返回信息如下: 200 Content-Length=106786028 Accept-Ranges=bytes Date=Mon, 30 Apr 2001 12:56:11 GMT ETag=W/"02ca57e173c11:95b" Content-Type=application/octet-stream Server=Microsoft-IIS/5.0 Last-Modified=Mon, 30 Apr 2001 12:56:11 GMT
所謂斷點續傳,也就是要從文件已經下載的地方開始繼續下載。
所以在客戶端瀏覽器傳給 Web伺服器的時候要多加一條信息--從哪裡開始。
下面是用自己編的一個"瀏覽器"來傳遞請求信息給Web伺服器,要求從2000070位元組開始。 GET /down.zip HTTP/1.0 User-Agent: NetFox RANGE: bytes=2000070- Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 仔細看一下就會發現多了一行RANGE: bytes=2000070- 這一行的意思就是告訴伺服器down.zip這個文件從2000070位元組開始傳,前面的位元組不用傳了。
伺服器收到這個請求以後,返回的信息如下: 206 Content-Length=106786028 Content-Range=bytes 2000070-106786027/106786028 Date=Mon, 30 Apr 2001 12:55:20 GMT ETag=W/"02ca57e173c11:95b" Content-Type=application/octet-stream Server=Microsoft-IIS/5.0 Last-Modified=Mon, 30 Apr 2001 12:55:20 GMT 和前面伺服器返回的信息比較一下,就會發現增加了一行: Content-Range=bytes 2000070-106786027/106786028 返回的代碼也改為206了,而不再是200了。
知道了以上原理,就可以進行斷點續傳的編程了。
7. 如何架設遠程FTP伺服器
在我們的實際網路生活中,特別是寬頻網接入之後,FTP伺服器作為文件的傳輸和共享工具得到廣泛應用。FTP伺服器在文件的傳輸上性能穩定,佔用系統資源小,而且傳輸速度快,現在網上已經有很多的FTP伺服器可供使用,而自己架設一個FTP伺服器也很容易,下面介紹兩種主流的FTP架構方式。
1.利用微軟公司的IIS
微軟的IIS功能非常強大,它除了提供WWW服務之外,還提供FTP的服務,利用它一樣很容易就能架設一個功能卓越的FTP伺服器。
IIS的安裝前面已經講解過,下面我們一起來看看通過設置IIS來架設FTP伺服器的幾個步驟。
第一步:啟動IIS,並啟動IIS上的FTP服務。在默認的情況下,此時你的FTP伺服器已經搭建好,並且可以立即登錄,但是該FTP中沒有任何文件。
第二步:滑鼠右擊IIS中的「默認FTP站點」項,選擇「屬性」菜單,即可出現如圖19的對話框。
第三步:選擇「主目錄」的標簽,在FTP站點目錄的「本地路徑」處填上你要設置的共享文件路徑。默認情況下,此處的文件夾位置為「C:\Inetpub\Ftproot」,你如果臨時想改變共享目錄,隨時都可在此處修改(如圖20),以後別人登錄你的FTP伺服器時顯示的文件列表就是在這個目錄中。
第三步:在「主目錄」的標簽處,你還可設置FTP伺服器的文件訪問許可權,分別有讀取、寫入和日誌訪問,安全起見,這里的寫入許可權一般不選,保證匿名用戶不能隨意對你文件進行操作。
第四步:設置登錄的用戶。如果你願意提供「匿名」的訪問許可權,還需在「安全標簽」處選擇上「允許匿名連接」(如圖21)。此外,你還可從Windows系統帳號中選擇FTP伺服器的特殊帳號,當然也可以自己任意設置用戶名和密碼。
第五步:在「消息」標簽處,有「歡迎」、「退出」和「最大連接數」3個輸入框,分別代表別人在登錄、退出時FTP伺服器上給出的提示信息,你可根據自己的需要設置。此外,最大連接數是設置同時連接本地FTP的最大主機台數(如圖22)。
第六步:在「FTP站點」的標簽處設置FTP標識,包括說明、IP地址和埠,這里一般不需要改動,按照默認選擇即可(如圖23)。此外,在「C:\Winnt\System32\Logfiles」目錄中你還可以看到連接上你FTP的IP、時間等日誌信息。
此時,利用IE或者任何一款FTP的客戶端軟體即可登錄你架設好的FTP站點。
2.利用Serv-U
在FTP伺服器的搭建中,Serv-U是目前使用比較多的工具之一。它設置簡單,功能強大,而且非常穩定,總體上來說上它比IIS附帶的FTP伺服器略勝一籌。它適用於所有的Windows版本,是一款共享軟體,可以讓用戶免費使用一個月。
第一步:Serv-U的下載和安裝。
目前Serv-U的最高版本為4.0,文件大小為2.9MB,它的下載站點之一為[url]http://www.rhinosoft.com.cn/download/ServUSetup.exe[/url]
點擊下載的可執行文件即可開始安裝了,安裝過程很簡單,所有設置保持默認值就可以,按「Next」完成每一步(如圖24)。安裝完畢,在Windows的桌面上就出現Serv-U的圖標,雙擊Serv-U圖標,出現Serv-U主窗口,點擊主界面右邊窗口的「Start server」即可啟動FTP伺服器 。
第二步:Serv-U的配置。
在Serv-U的安裝完成之後即可出現配置向導,可以通過這個向導來對它進行配置,主要步驟如下。
A.安裝程序首先啟動一個設置向導幫助你設置FTP伺服器,點擊「Next」繼續。
B.系統彈出輸入IP的對話框,此項需要填入你准備為此FTP伺服器綁定的IP地址。除非你的計算機有多個固定的IP地址,並且你只想其中一個被FTP伺服器所使用,否則,建議不管你是否有固定的IP地址,都將此項保留為空(即讓系統自動偵測),點擊「Next」(如圖25)。
C.輸入Domain name(域名)。此處填入你FTP伺服器的域名。但域名由DNS解析而不是由這里決定,因此實際上你可以填入任意內容,比如像「我的個人FTP伺服器」這種對此FTP進行說明的文字。
D.輸入FTP訪問的埠號,一般保持默認的21即可。
E.匿名用戶的創建和訪問目錄的設定。首先向導會提示你是否要創建匿名帳號,這里選擇是,如果選擇不,則用戶需要用戶名和密碼才能訪問FTP伺服器。接下來安裝向導提示輸入匿名用戶的主目錄(Anonymous home directory),此處按照需要來設定匿名用戶訪問硬碟的位置。
F.選擇匿名用戶是否將其限制在主目錄里,如果選擇是,則用戶只能訪問其主目錄及以下的目錄樹;如果選擇否,則可以訪問其主目錄的同級或更高級的目錄樹。從安全形度考慮,一般建議選是。
G.創建新用戶和訪問目錄。按照向導的提示一步一步創建新用戶並輸入密碼(如圖26),接著指定該用戶可訪問的目錄和用戶許可權即可。
到這里,你的個人FTP就已經搭建完成了。不過這還只能實現Serv-U賦予的默認功能和許可權,要真正讓這個伺服器能被你自己隨心所欲地控制和管理,則還需要經過以下後續的操作,這主要包括如下幾點。
A.對FTP用戶的管理
欲增加一個新用戶(包括增加Anonymous用戶),則在Serv-U的一個域中選中Users(用戶),然後單擊右鍵,進入New User(新用戶),依次根據提示為它設置好User Name(用戶名)、Password(密碼)、Home directory(主目錄)等即可完成(如圖27)。
欲刪除一個用戶,則在此用戶上單擊右鍵,選Delete User(刪除用戶)即可。
B.對目錄許可權的管理
在Serv-U左邊框架中選中用戶名,再在右邊框架中進入Dir Access(目錄存取)窗口,然後在列表中選中相應目錄後,就可在窗口的右側更改當前用戶對它的訪問許可權了(如圖28)。
文件的屬性主要包括:
Read(讀):對文件進行讀操作(復制、下載,不含查看)的權力。
Write(寫):對文件進行寫操作(上傳)的權力。
Append(附加):對文件進行寫操作和附加操作的權力。
Delete(刪除):對文件進行刪除(上傳、更名、刪除、移動)操作的權力。
Execute(執行):直接運行可執行文件的權力。
List(列表):對文件和目錄的查看權力。
Create(建立):建立目錄的權力。
Remove(移動):對目錄進行移動、刪除和更名的權力。
Inherit(繼承):如勾選中此項,則以上設置的屬性將對當前Path(目錄)及其下的整個目錄樹起作用;否則就只對其當前目錄有效。
C.其他設置
在Local server下的Setting處還可設置伺服器的一些通用信息。
在「max no.of users」處,設定同時登錄該伺服器的最大用戶數。
在Max.Speed處根據自己電腦的配置,設置用戶最大下載速度。
選擇「Block users who connect more than XX times within YY seconds for ZZ minutes」復選框並設置相應的數值,可以防止有些惡意用戶為達到攻擊目的在短時間內對該伺服器的頻繁登錄。
選擇「Delete partially uploaded files」復選框,可以自動刪除上傳失敗後留在伺服器上不完整文件。如果不要選中這項,就能讓Serv-U支持斷點上傳功能(如圖29)。
3.架設FTP伺服器的其他方式。
A.WS_FTP Server。這是一套非常有特色的FTP Server程序。它有簡單而強大的圖形介面。設置起來比較容易,可以在Win9X/NT/2000/XP系統下使用,是一個共享的英文軟體,文件大小為3.3MB,下載站點之一:[url]http://www.skycn.com/soft/1296.html[/url]。
B.FileZilla Server。作為一個小巧、可*的FTP伺服器軟體,它配置簡單,功能比較強大,適合Windows系列中的所有版本,文件大小為637kB,同時它是完全免費的軟體,它的漢化版下載站點之一:[url]http://www.skycn.com/soft/8091.html[/url]。
C.TYPSoft FTP Server漢化版。由於該軟體經過漢化,因此使用起來很容易上手,是一個非常適合初學者的FTP伺服器端軟體,它配置簡單,也能方便地管理用戶,軟體大小隻有480kB,是一款免費軟體,它的下載站點之一:[url]http://www.skycn.com/soft/8335.html[/url]。