ftp發(fā)展史?
ftp產(chǎn)生初期并不是應(yīng)用于IP網(wǎng)絡(luò)上的協(xié)議,而是ARPANEt網(wǎng)絡(luò)中計(jì)算機(jī)間的文件傳輸協(xié)議, ARPANET是美國國防部組建的老網(wǎng)絡(luò),于1960-1980年使用。在那時(shí), FTP的主要功能是在主機(jī)間高速可靠地傳輸文件。目前FTP仍然保持其可靠性,即使在今天,它還允許文件遠(yuǎn)程存取。這使得用戶可以在某個(gè)系統(tǒng)上工作,而將 文件存貯在別的系統(tǒng)。例如,如果某用戶運(yùn)行Web服務(wù)器,需要從遠(yuǎn)程主機(jī)上取得HTML文件和CGI程序在本機(jī)上工作,他需要從遠(yuǎn)程存儲站點(diǎn)獲取文件(遠(yuǎn) 程站點(diǎn)也需安裝Web服務(wù)器)。當(dāng)用戶完成工作后,可使用FTP將文件傳回到Web服務(wù)器。采用這種方法,用戶無需使用Telnet登錄到遠(yuǎn)程主機(jī)進(jìn)行工 作,這樣就使Web服務(wù)器的更新工作變得如此的輕松。
拿下載文件為例,當(dāng)你啟動FTP從遠(yuǎn)程計(jì)算機(jī)拷貝文件時(shí),你事實(shí)上啟動了兩個(gè)程序:一個(gè)本地機(jī)上的FTP客戶程序:它向FTP服務(wù)器提出拷貝文件的請求。 另一個(gè)是啟動在遠(yuǎn)程計(jì)算機(jī)的上的FTP服務(wù)器程序,它響應(yīng)你的請求把你指定的文件傳送到你的計(jì)算機(jī)中。FTP采用“客戶機(jī)/服務(wù)器”方式,用戶端要在自己 的本地計(jì)算機(jī)上安裝FTP客戶程序。FTP客戶程序有字符界面和圖形界面兩種。字符界面的FTP的命令復(fù)雜、繁多。圖形界面的FTP客戶程序,操作上要簡 潔方便的多。
簡單地說,支持FTP協(xié)議的服務(wù)器就是FTP服務(wù)器,下面介紹一下什么是FTP協(xié)議。(文件傳輸協(xié)議)
FTP是TCP/IP的一種具體應(yīng)用,它工作在OSI模型的第七層,TCP模型的第四層上,即應(yīng)用層,使用TCP傳輸而不是UDP,這樣FTP客戶在和服務(wù)器建立連接前就要經(jīng)過一個(gè)被廣為熟知的"三次握手"的過程,它帶來的意義在于客戶與服務(wù)器空間 之間的連接是可靠的,而且是面向連接,為數(shù)據(jù)的傳輸提供了可靠的保證。
一般來說,用戶聯(lián)網(wǎng)的首要目的就是實(shí)現(xiàn)信息共享,文件傳輸是信息共享非常重要的一個(gè)內(nèi)容之一。Internet上早期實(shí)現(xiàn)傳輸文件,并不是一件容易的事, 我們知道 Internet是一個(gè)非常復(fù)雜的計(jì)算機(jī)環(huán)境,有PC,有工作站,有MAC,有大型機(jī),據(jù)統(tǒng)計(jì)連接在Internet上的計(jì)算機(jī)已有上千萬臺,而這些計(jì)算 機(jī)可能運(yùn)行不同的操作系統(tǒng),有運(yùn)行Unix的服務(wù)器,也有運(yùn)行Dos、Windows的PC機(jī)和運(yùn)行MacOS的蘋果機(jī)等等,而各種操作系統(tǒng)之間的文件交 流問題,需要建立一個(gè)統(tǒng)一的文件傳輸協(xié)議,這就是所謂的FTP?;诓煌牟僮飨到y(tǒng)有不同的FTP應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議,這樣用 戶就可以把自己的文件傳送給別人,或者從其它的用戶環(huán)境中獲得文件。
與大多數(shù)Internet服務(wù)一樣,F(xiàn)TP也是一個(gè)客戶機(jī)/服務(wù)器系統(tǒng)。用戶通過一個(gè)支持FTP協(xié)議的客戶機(jī)程序,連接到在遠(yuǎn)程主機(jī)上的FTP服務(wù)器程 序。用戶通過客戶機(jī)程序向服務(wù)器程序發(fā)出命令,服務(wù)器程序執(zhí)行用戶所發(fā)出的命令,并將執(zhí)行的結(jié)果返回到客戶機(jī)。比如說,用戶發(fā)出一條命令,要求服務(wù)器向用 戶傳送某一個(gè)文件的一份拷貝,服務(wù)器會響應(yīng)這條命令,將指定文件送至用戶的機(jī)器上??蛻魴C(jī)程序代表用戶接收到這個(gè)文件,將其存放在用戶目錄中。
在FTP的使用當(dāng)中,用戶經(jīng)常遇到兩個(gè)概念:"下載"(Download)和"上傳" (Upload)。"下載"文件就是從遠(yuǎn)程主機(jī)拷貝文件至自己的計(jì)算機(jī)上;"上傳"文件就是將文件從自己的計(jì)算機(jī)中拷貝至遠(yuǎn)程主機(jī)上。用Internet 語言來說,用戶可通過客戶機(jī)程序向(從)遠(yuǎn)程主機(jī)上載(下載)文件。
使用FTP時(shí)必須首先登錄,在遠(yuǎn)程主機(jī)上獲得相應(yīng)的權(quán)限以后,方可下載或上傳文件。也就是說,要想同哪一臺計(jì)算機(jī)傳送文件,就必須具有哪一臺計(jì)算機(jī)的適當(dāng) 授權(quán)。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了 Internet的開放性,Internet上的FTP主機(jī)何止千萬,不可能要求每個(gè)用戶在每一臺主機(jī)上都擁有帳號。匿名FTP就是為解決這個(gè)問題而產(chǎn)生 的。
匿名FTP是這樣一種機(jī)制,用戶可通過它連接到遠(yuǎn)程主機(jī)上,并從其下載文件,而無需成為其注冊用戶。系統(tǒng)管理員建立了一個(gè)特殊的用戶ID,名為anonymous, Internet上的任何人在任何地方都可使用該用戶ID。
通過FTP程序連接匿名FTP主機(jī)的方式同連接普通FTP主機(jī)的方式差不多,只是在要求提供用戶標(biāo)識ID時(shí)必須輸入anonymous,該用戶ID的口令 可以是任意的字符串。習(xí)慣上,用自己的E-mail地址作為口令,使系統(tǒng)維護(hù)程序能夠記錄下來誰在存取這些文件。
值得注意的是,匿名FTP不適用于所有Internet主機(jī),它只適用于那些提供了這項(xiàng)服務(wù)的主機(jī)。
當(dāng)遠(yuǎn)程主機(jī)提供匿名FTP服務(wù)時(shí),會指定某些目錄向公眾開放,允許匿名存取。系統(tǒng)中的其余目錄則處于隱匿狀態(tài)。作為一種安全措施,大多數(shù)匿名FTP主機(jī)都 允許用戶從其下載文件,而不允許用戶向其上傳文件,也就是說,用戶可將匿名FTP主機(jī)上的所有文件全部拷貝到自己的機(jī)器上,但不能將自己機(jī)器上的任何一個(gè) 文件拷貝至匿名FTP主機(jī)上。即使有些匿名FTP主機(jī)確實(shí)允許用戶上傳文件,用戶也只能將文件上傳至某一指定上傳目錄中。隨后,系統(tǒng)管理員會去檢查這些文 件,他會將這些文件移至另一個(gè)公共下載目錄中,供其他用戶下載,利用這種方式,遠(yuǎn)程主機(jī)的用戶得到了保護(hù),避免了有人上載有問題的文件,如帶病毒的文件。
作為一個(gè)Internet用戶,可通過FTP在任何兩臺Internet主機(jī)之間拷貝文件。但是,實(shí)際上大多數(shù)人只有一個(gè)Internet帳戶,F(xiàn)TP主 要用于下載公共文件,例如共享軟件、各公司技術(shù)支持文件等。 Internet上有成千上萬臺匿名FTP主機(jī),這些主機(jī)上存放著數(shù)不清的文件,供用戶免費(fèi)拷貝。實(shí)際上,幾乎所有類型的信息,所有類型的計(jì)算機(jī)程序都可 以在Internet上找到。這是Internet吸引我們的重要原因之一。
匿名FTP使用戶有機(jī)會存取到世界上最大的信息庫,這個(gè)信息庫是日積月累起來的,并且還在不斷增長,永不關(guān)閉,涉及到幾乎所有主題。而且,這一切是免費(fèi)的。
匿名FTP是Internet網(wǎng)上發(fā)布軟件的常用方法。Internet之所以能延續(xù)到今天,是因?yàn)槿藗兪褂猛ㄟ^標(biāo)準(zhǔn)協(xié)議提供標(biāo)準(zhǔn)服務(wù)的程序。像這樣的程序,有許多就是通過匿名FTP發(fā)布的,任何人都可以存取它們。
Internet中的有數(shù)目巨大的匿名FTP主機(jī)以及更多的文件,那么到底怎樣才能知道某一特定文件位于哪個(gè)匿名FTP主機(jī)上的那個(gè)目錄中呢?這正是 Archie服務(wù)器所要完成的工作。 Archie將自動在FTP主機(jī)中進(jìn)行搜索,構(gòu)造一個(gè)包含全部文件目錄信息的數(shù)據(jù)庫,使你可以直接找到所需文件的位置信息。