鄭州北大青鳥的網絡專家詳解FTP文件傳輸協議工作原理:
以下載文件為例,當你啟動FTP從遠程計算機拷貝文件時實際上啟動了兩個程序:一個本地機上的FTP客戶程序,它向FTP服務器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP服務器程序,它響應你的請求把你指定的文件傳送到你的計算機中。FTP采用“客戶機/服務器”方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字符界面和圖形界面兩種。字符界面的FTP的命令復雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多,簡單地說,支持FTP協議的服務器就是FTP服務器。
一般來說,用戶聯網的首要目的就是實現信息共享,文件傳輸是信息共享非常重要的一個內容之一。FTP是一個客戶機/服務器系統,用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP服務器程序。用戶通過客戶機程序向服務器程序發出命令,服務器程序執行用戶所發出的命令,并將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求服務器向用戶傳送某一個文件的一份拷貝,服務器會響應這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶目錄中。在FTP文件傳輸協議的使用當中,用戶經常遇到兩個概念:“下載”(Download)和“上傳”(Upload)。“下載”文件就是從遠程主機拷貝文件至自己的計算機上;"上傳"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。使用FTP時必須首先登錄,在遠程主機上獲得相應的權限以后,方可下載或上傳文件。也就是說,要想同哪一臺計算機傳送文件,就必須具有哪一臺計算機的適當授權。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一臺主機上都擁有帳號。匿名FTP就是為解決這個問題而產生的。匿名FTP是這樣一種機制,用戶可通過它連接到遠程主機上,并從其下載文件,而無需成為其注冊用戶。系統管理員建立了一個特殊的用戶ID,名為anonymous, Internet上的任何人在任何地方都可使用該用戶ID。
值得注意的是,匿名FTP文件傳輸協議不適用于所有Internet主機,它只適用于那些提供了這項服務的主機。當遠程主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取。系統中的其余目錄則處于隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許用戶從其下載文件,而不允許用戶向其上傳文件,也就是說,用戶可將匿名FTP主機上的所有文件全部拷貝到自己的機器上,但不能將自己機器上的任何一個文件拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用戶上傳文件,用戶也只能將文件上傳至某一指定上傳目錄中。隨后,系統管理員會去檢查這些文件,他會將這些文件移至另一個公共下載目錄中,供其他用戶下載,利用這種方式,遠程主機的用戶得到了保護,避免了有人上傳有問題的文件,如帶病毒的文件。
作為一個Internet用戶,可通過FTP在任何兩臺Internet主機之間拷貝文件。但是,實際上大多數人只有一個Internet帳戶,FTP文件傳輸協議主要用于下載公共文件,例如共享軟件、各公司技術支持文件等。Internet上有成千上萬臺匿名FTP主機,這些主機上存放著數不清的文件,供用戶免費拷貝。實際上,幾乎所有類型的信息,所有類型的計算機程序都可以在Internet上找到。這是Internet吸引我們的重要原因之一。匿名FTP使用戶有機會存取到世界上最大的信息庫,這個信息庫是日積月累起來的,并且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。匿名FTP是Internet網上發布軟件的常用方法。Internet之所以能延續到今天,是因為人們使用通過標準協議提供標準服務的程序。像這樣的程序,有許多就是通過匿名FTP發布的,任何人都可以存取它們。