FTP協(xié)議是什么?
FTP(文件傳輸協(xié)議)是TCP/IP協(xié)議組中的協(xié)議之一。FTP協(xié)議由兩部分組成,一部分是FTP服務(wù)器,另一部分是FTP客戶端。其中,F(xiàn)TP服務(wù)器用于存儲(chǔ)文件,用戶可以使用FTP客戶端通過(guò)FTP協(xié)議訪問(wèn)位于FTP服務(wù)器上的資源。開(kāi)發(fā)網(wǎng)站時(shí),通常使用FTP協(xié)議將網(wǎng)頁(yè)或程序傳輸?shù)絯
ftp發(fā)展史?
FTP早期不是應(yīng)用于IP網(wǎng)絡(luò)的協(xié)議,而是ARPANEt網(wǎng)絡(luò)中計(jì)算機(jī)之間的文件傳輸協(xié)議。阿帕網(wǎng)是美國(guó)國(guó)防部建立的老網(wǎng)絡(luò),在1960-1980年使用。那時(shí),F(xiàn)TP的主要功能是在主機(jī)之間高速可靠地傳輸文件。目前,F(xiàn)TP仍然保持其可靠性,甚至在今天,它還允許遠(yuǎn)程訪問(wèn)文件。這允許用戶在一個(gè)系統(tǒng)上工作,并在其他系統(tǒng)上存儲(chǔ)文件。例如,如果用戶運(yùn)行Web服務(wù)器,需要從遠(yuǎn)程主機(jī)獲取HTML文件和CGI程序以便在這臺(tái)計(jì)算機(jī)上工作,他需要從遠(yuǎn)程存儲(chǔ)站點(diǎn)獲取文件(遠(yuǎn)程站點(diǎn)也需要安裝Web服務(wù)器)。當(dāng)用戶完成工作后,他可以使用FTP將文件發(fā)送回Web服務(wù)器。用這種方法,用戶不用擔(dān)心。;工作時(shí)不需要使用Telnet登錄到遠(yuǎn)程主機(jī),這使得Web服務(wù)器的更新變得非常容易。
以下載文件為例。當(dāng)您啟動(dòng)FTP從遠(yuǎn)程計(jì)算機(jī)復(fù)制文件時(shí),您實(shí)際上啟動(dòng)了兩個(gè)程序:本地計(jì)算機(jī)上的FTP客戶端程序,它請(qǐng)求FTP服務(wù)器復(fù)制文件。另一種方法是在遠(yuǎn)程計(jì)算機(jī)上啟動(dòng)FTP服務(wù)器程序,該程序響應(yīng)您的請(qǐng)求,并將您指定的文件傳輸?shù)侥挠?jì)算機(jī)上。FTP采用"客戶機(jī)/服務(wù)器"模式,客戶端應(yīng)該在其本地計(jì)算機(jī)上安裝FTP客戶端程序。FTP客戶端程序有兩種:字符界面和圖形界面。字符界面中的FTP命令復(fù)雜而繁多。具有圖形界面的FTP客戶端程序更簡(jiǎn)單,操作更方便。
簡(jiǎn)單來(lái)說(shuō),支持FTP協(xié)議的服務(wù)器就是FTP服務(wù)器。讓讓我們介紹一下什么是FTP協(xié)議。(文件傳輸協(xié)議)
FTP是TCP/IP的具體應(yīng)用。它工作在OSI模型的第七層和TCP模型的第四層,也就是應(yīng)用層,使用TCP傳輸而不是UDP,這樣FTP客戶端在與服務(wù)器建立連接之前要經(jīng)過(guò)一個(gè)眾所周知的三方握手過(guò)程。它帶來(lái)的意義在于,客戶端與服務(wù)器空間的連接是可靠的、面向連接的,為數(shù)據(jù)傳輸提供了可靠的保障。
一般來(lái)說(shuō),用戶聯(lián)網(wǎng)的首要目的是實(shí)現(xiàn)信息共享,而文件傳輸是信息共享最重要的內(nèi)容之一。早期在網(wǎng)上傳輸文件并不容易。我們知道互聯(lián)網(wǎng)是一個(gè)非常復(fù)雜的計(jì)算機(jī)環(huán)境,包括PC、工作站、MAC和大型機(jī)。據(jù)統(tǒng)計(jì),連接互聯(lián)網(wǎng)的電腦有數(shù)千萬(wàn)臺(tái),這些電腦可能運(yùn)行不同的操作系統(tǒng)和運(yùn)行Unix的服務(wù)器。還有運(yùn)行Dos的PC,運(yùn)行MacOS的Windows和MAC等。但是各種操作系統(tǒng)之間文件交叉流動(dòng)的問(wèn)題,需要建立一個(gè)統(tǒng)一的文件傳輸協(xié)議,這個(gè)協(xié)議叫做FTP。基于不同的操作系統(tǒng)有不同的FTP應(yīng)用程序,所有這些應(yīng)用程序都遵循相同的協(xié)議,因此用戶可以將自己的文件傳輸給其他人,或者從其他用戶環(huán)境中獲取文件。
像大多數(shù)互聯(lián)網(wǎng)服務(wù)一樣,F(xiàn)TP是一個(gè)客戶機(jī)/服務(wù)器系統(tǒng)。用戶通過(guò)支持FTP協(xié)議的客戶端程序連接到遠(yuǎn)程主機(jī)上的FTP服務(wù)器程序。用戶通過(guò)客戶端程序向服務(wù)器程序發(fā)送命令,服務(wù)器程序執(zhí)行用戶發(fā)送的命令,并將執(zhí)行結(jié)果返回給客戶端。例如,如果用戶發(fā)送一個(gè)命令,要求服務(wù)器向用戶發(fā)送一個(gè)文件的副本,服務(wù)器將響應(yīng)這個(gè)命令,把指定的文件發(fā)送給用戶s機(jī)。客戶端程序代表用戶接收該文件,并將其存儲(chǔ)在用戶目錄中。
在FTP的使用中,用戶經(jīng)常會(huì)遇到兩個(gè)概念:下載和上傳。下載文件是指將文件從遠(yuǎn)程主機(jī)復(fù)制到自己的電腦上;上傳文件是將文件從您自己的計(jì)算機(jī)復(fù)制到遠(yuǎn)程主機(jī)。在互聯(lián)網(wǎng)語(yǔ)言中,用戶可以通過(guò)客戶端程序向(從)遠(yuǎn)程主機(jī)上傳(下載)文件。
使用FTP時(shí),必須先登錄,在遠(yuǎn)程主機(jī)上獲得相應(yīng)權(quán)限后,才能下載或上傳文件。換句話說(shuō),如果你想用哪臺(tái)電腦傳輸文件,你必須擁有哪臺(tái)電腦的相應(yīng)授權(quán)。換句話說(shuō),你可以除非你有用戶名和密碼,否則不要傳輸文件。這種情況違背了互聯(lián)網(wǎng)的開(kāi)放性。互聯(lián)網(wǎng)上有一千多萬(wàn)個(gè)FTP主機(jī),不可能要求每個(gè)用戶在每臺(tái)主機(jī)上都有一個(gè)賬號(hào)。匿名FTP就是為了解決這個(gè)問(wèn)題而產(chǎn)生的。
匿名FTP是一種機(jī)制,通過(guò)這種機(jī)制,用戶可以連接到遠(yuǎn)程主機(jī)并從其下載文件,而無(wú)需成為注冊(cè)用戶。系統(tǒng)管理員建立了一個(gè)名為anonymous的特殊用戶ID,互聯(lián)網(wǎng)上的任何人都可以使用它。
通過(guò)FTP程序連接匿名FTP主機(jī)的比連接普通FTP主機(jī)的差。不多,但是需要用戶ID時(shí)必須輸入匿名,用戶ID的密碼可以是任意字符串。傳統(tǒng)上,使用您自己的電子郵件地址作為密碼可以使系統(tǒng)維護(hù)程序記錄誰(shuí)在訪問(wèn)這些文件。
值得注意的是,匿名FTP并不適用于所有的互聯(lián)網(wǎng)主機(jī),它只適用于那些提供這種服務(wù)的主機(jī)。
當(dāng)遠(yuǎn)程主機(jī)提供匿名FTP服務(wù)時(shí),它會(huì)指定一些目錄對(duì)公眾開(kāi)放,允許匿名訪問(wèn)。系統(tǒng)中的其余目錄是隱藏的。作為一種安全措施,大多數(shù)匿名FTP主機(jī)允許用戶從它們那里下載文件,但不允許用戶向它們上傳文件。也就是說(shuō),用戶可以將匿名FTP主機(jī)上的所有文件復(fù)制到自己的機(jī)器上,但是不能將自己機(jī)器上的任何文件復(fù)制到匿名FTP主機(jī)上。即使某些匿名FTP主機(jī)確實(shí)允許用戶上傳文件,用戶也只能將文件上傳到指定的上傳目錄。隨后,系統(tǒng)管理員將檢查這些文件,并將它們移動(dòng)到另一個(gè)公共下載目錄,供其他用戶下載。這樣,遠(yuǎn)程主機(jī)的用戶就不會(huì)上傳有問(wèn)題的文件,例如帶有病毒的文件。
作為互聯(lián)網(wǎng)用戶,你可以通過(guò)FTP在任何兩臺(tái)互聯(lián)網(wǎng)主機(jī)之間復(fù)制文件。但實(shí)際上大多數(shù)人只有一個(gè)上網(wǎng)賬號(hào),F(xiàn)TP主要用于下載公共文件,比如各公司的共享軟件和技術(shù)支持文件。互聯(lián)網(wǎng)上有成千上萬(wàn)的匿名FTP主機(jī),這些主機(jī)上存儲(chǔ)著無(wú)數(shù)的文件,供用戶免費(fèi)復(fù)制。事實(shí)上,幾乎各種信息和各種計(jì)算機(jī)程序都可以在互聯(lián)網(wǎng)上找到。這是互聯(lián)網(wǎng)吸引我們的重要原因之一。
匿名FTP讓用戶有機(jī)會(huì)訪問(wèn)世界這是美國(guó)最大的信息庫(kù),而且還在不斷積累和增長(zhǎng),它從不關(guān)閉,幾乎涉及所有的主題。此外,它都是免費(fèi)的。
匿名FTP是在互聯(lián)網(wǎng)上發(fā)布軟件的常用方法。互聯(lián)網(wǎng)能夠延續(xù)到今天,是因?yàn)槿藗兪褂猛ㄟ^(guò)標(biāo)準(zhǔn)協(xié)議提供標(biāo)準(zhǔn)服務(wù)的程序。很多類似這樣的程序都是通過(guò)匿名FTP發(fā)布的,任何人都可以訪問(wèn)。
互聯(lián)網(wǎng)上有數(shù)量巨大的匿名FTP主機(jī)和更多的文件,那么我們?nèi)绾沃酪粋€(gè)特定的文件位于哪個(gè)匿名FTP主機(jī)的哪個(gè)目錄下呢?這正是阿奇服務(wù)器試圖做的事情。Archie會(huì)自動(dòng)搜索FTP主機(jī),構(gòu)造一個(gè)包含所有文件目錄信息的數(shù)據(jù)庫(kù),讓你直接找到所需文件的位置信息。