其實早期在Internet上傳輸文件,并不是一件容易的事,我們知道 Internet是一個非常復(fù)雜的計算機環(huán)境,有PC、工作站、MAC、服務(wù)器、大型機等等,而這些計算機可能運行不同的操作系統(tǒng),有Unix、Dos、Windows、MacOS等等,各種操作系統(tǒng)之間的文件交流,需要建立一個統(tǒng)一的文件傳輸協(xié)議,這就是所謂的FTP。雖然基于不同的操作系統(tǒng)有不同的FTP應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環(huán)境中獲得文件。
與大多數(shù)Internet服務(wù)一樣,F(xiàn)TP也是一個客戶機/服務(wù)器系統(tǒng)(C/S)。用戶通過一個支持FTP協(xié)議的客戶機程序,連接到遠(yuǎn)程主機上的FTP服務(wù)器程序。用戶通過客戶機程序向服務(wù)器程序發(fā)出命令,服務(wù)器程序執(zhí)行用戶所發(fā)出的命令,并將執(zhí)行的結(jié)果返回到客戶機。比如說,用戶發(fā)出一條命令,要求服務(wù)器向用戶傳送某一個文件,服務(wù)器會響應(yīng)這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶指定目錄中。FTP客戶程序有字符界面和圖形界面兩種。字符界面的FTP的命令復(fù)雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。
在FTP的使用當(dāng)中,用戶經(jīng)常遇到兩個概念:"下載"(Download)和"上載"(Upload)。"下載"文件就是從遠(yuǎn)程主機拷貝文件至自己的計算機上;"上載"文件就是將文件從自己的計算機中拷貝至遠(yuǎn)程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠(yuǎn)程主機上載(下載)文件。
在ftp的使用過程中,必須首先登錄,在遠(yuǎn)程主機上獲得相應(yīng)的權(quán)限以后,方可上傳或下載文件。也就是說,要想同哪一臺計算機傳送文件,就必須具有哪一臺計算機的適當(dāng)授權(quán)。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一臺主機上都擁有帳號。因此就衍生除了匿名FTP。