範文齋

關於ftp是什麼

FTP就是完成兩臺計算機之間的拷貝,從遠端計算機拷貝檔案至自己的計算機上,稱之為“下載(download)”檔案。若將檔案從自己計算機中拷貝至遠端計算機上,則稱之為“上載(upload)”檔案。在TCP/IP協議中,FTP標準命令TCP埠號為21,Port方式資料埠為20。

關於ftp是什麼
關於ftp是什麼

檔案傳輸是Internet提供的一項基本服務,通過Internet,可以把檔案從一臺計算機傳送到另一臺計算機,檔案傳輸服務必須遵循檔案傳輸協議(File Transfer Protocol,FTP)。通過FTP從遠端計算機上獲取檔案稱為下載(Download);將本地計算機上的檔案複製到遠端計算機上稱為上傳(Upload),檔案的“上傳”和“下載”功能是使用者上網經常要使用到的,許多使用者都要從網上“下載”一些檔案和資料,那些擁有個人部落格(Blog)或者要進行網站管理的使用者,經常需要“上傳”自己的檔案。

當啟動FTP從遠端計算機拷貝檔案時,事實上啟動了兩個程式:一個本地機上的FTP客戶程式:它向FTP伺服器提出拷貝檔案的請求。另一個是啟動在遠端計算機的上的FTP伺服器程式,它響應你的請求把你指定的檔案傳送到你的計算機中。FTP採用“客戶機/伺服器”方式,使用者端要在自己的本地計算機上安裝FTP客戶程式。FTP客戶程式有字元介面和圖形介面兩種。字元介面的FTP的命令複雜、繁多。圖形介面的FTP客戶程式,操作上要簡潔方便的多。

支援FTP協議的伺服器就是FTP伺服器,下面介紹一下什麼是FTP協議。使用者聯網的首要目的就是實現資訊共享,檔案傳輸是資訊共享非常重要的一個內容之一。Internet上早期實現傳輸檔案,並不是一件容易的事,Internet是一個非常複雜的計算機環境,有PC,有工作站,有MAC,有大型機,據統計連線在Internet上的計算機已有上千萬臺,而這些計算機可能執行不同的作業系統,有執行Unix的伺服器,也有執行Dos、Windows的PC機和執行MacOS的蘋果機等等,而各種作業系統之間的檔案交流問題,需要建立一個統一的檔案傳輸協議,這就是所謂的FTP。基於不同的作業系統有不同的FTP應用程式,而所有這些應用程式都遵守同一種協議,這樣使用者就可以把自己的檔案傳送給別人,或者從其它的使用者環境中獲得檔案。

FTP傳輸模式

FTP協議的任務是從一臺計算機將檔案傳送到另一臺計算機,它與這兩臺計算機所處的位置、聯接的方式、甚至是是否使用相同的作業系統無關。假設兩臺計算機通過ftp協議對話,並且能訪問Internet,

你可以用ftp命令來傳輸檔案。每種作業系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。

FTP的傳輸有兩種方式:ASCII傳輸模式和二進位制資料傳輸模式。

ASCII傳輸模式

假定使用者正在拷貝的檔案包含的簡單ASCII碼文字,如果在遠端機器上執行的是不同的作業系統,當檔案傳輸時ftp通常會自動地調整檔案的內容以便於把檔案解釋成另外那臺計算機儲存文字檔案的格式。但是常常有這樣的情況,使用者正在傳輸的檔案包含的不是文字檔案,它們可能是程式,資料庫,字處理檔案或者壓縮檔案(儘管字處理檔案包含的大部分是文字,其中也包含有指示頁尺寸,字型檔等資訊的非列印字元)。

在拷貝任何非文字檔案之前,用binary命令告訴ftp逐字拷貝,不要對這些檔案進行處理,這也是下面要講的二進位制傳輸。

二進位制傳輸模式

在二進位制傳輸中,儲存檔案的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的檔案是沒意義的。例如,macintosh以二進位制方式傳送可執行檔案到Windows系統,在對方系統上,此檔案不能執行。

如果你在ASCII方式下傳輸二進位制檔案,即使不需要也仍會轉譯。這會使傳輸稍微變慢,也會損壞資料,使檔案變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進位制檔案,所有的位都是重要的。)如果你知道這兩臺機器是同樣的,則二進位制方式對文字檔案和資料檔案都是有效的。

FTP工作原理

與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。使用者通過一個支援FTP協議的客戶機程式,連線到在遠端主機上的FTP伺服器程式。使用者通過客戶機程式向伺服器程式發出命令,伺服器程式執行使用者所發出的命令,並將執行的結果返回到客戶機。比如說,使用者發出一條命令,要求伺服器向用戶傳送某一個檔案的一份拷貝,伺服器會響應這條命令,將指定檔案送至使用者的機器上。客戶機程式代表使用者接收到這個檔案,將其存放在使用者目錄中。

在FTP的使用當中,使用者經常“下載”(Download)和“上載”(Upload)。“下載”檔案就是從遠端主機拷貝檔案至自己的計算機上;“上載”檔案就是將檔案從自己的計算機中拷貝至遠端主機上。用Internet語言來說,使用者可通過客戶機程式向(從)遠端主機上載(下載)檔案。

使用FTP時必須首先登入,在遠端主機上獲得相應的許可權以後,方可上載或下載檔案。也就是說,要想同哪一臺計算機傳送檔案,就必須具有哪一臺計算機的適當授權。換言之,除非有使用者ID和口令,否則便無法傳送檔案。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個使用者在每一臺主機上都擁有帳號。匿名FTP就是為解決這個問題而產生的。

匿名FTP是這樣一種機制,使用者可通過它連線到遠端主機上,並從其下載檔案,而無需成為其註冊使用者。系統管理員建立了一個特殊的使用者ID,名為anonymous,Internet上的任何人在任何地方都可使用該使用者ID。

通過FTP程式連線匿名FTP主機的方式同連線普通FTP主機的方式差不多,只是在要求提供使用者標識ID時必須輸入anonymous,該使用者ID的口令可以是任意的字串。習慣上,用自己的'E-mail地址作為口令,使系統維護程式能夠記錄下來誰在存取這些檔案。匿名FTP不適用於所有Internet主機,它只適用於那些提供了這項服務的主機。

當遠端主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取。系統中的其餘目錄則處於隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許使用者從其下載檔案,而不允許使用者向其上載檔案,也就是說,使用者可將匿名FTP主機上的所有檔案全部拷貝到自己的機器上,但不能將自己機器上的任何一個檔案拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許使用者上載檔案,使用者也只能將檔案上載至某一指定上載目錄中。隨後,系統管理員會去檢查這些檔案,他會將這些檔案移至另一個公共下載目錄中,供其他使用者下載,利用這種方式,遠端主機的使用者得到了保護,避免了有人上載有問題的檔案,如帶病毒的檔案。

作為一個Internet使用者,可通過FTP在任何兩臺Internet主機之間拷貝檔案。但是,實際上大多數人只有一個Internet帳戶,FTP主要用於下載公共檔案,例如共享軟體、各公司技術支援檔案等。Internet上有成千上萬臺匿名FTP主機,這些主機上存放著數不清的檔案,供使用者免費拷貝。實際上,幾乎所有型別的資訊,所有型別的計算機程式都可以在Internet上找到。這是Internet吸引重要原因之一。

匿名FTP使使用者有機會存取到世界上最大的資訊庫,這個資訊庫是日積月累起來的,並且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。

匿名FTP是Internet網上釋出軟體的常用方法。Internet之所以能延續到今天,是因為人們使用通過標準協議提供標準服務的程式。像這樣的程式,有許多就是通過匿名FTP釋出的,任何人都可以存取它們。

Internet中的有數目巨大的匿名FTP主機以及更多的檔案,那麼到底怎樣才能知道某一特定檔案位於哪個匿名FTP主機上的那個目錄中。這正是Archie伺服器所要完成的工作。Archie將自動在FTP主機中進行搜尋,構造一個包含全部檔案目錄資訊的資料庫,使你可以直接找到所需檔案的位置資訊。

標籤:ftp