ASCII傳輸方式假定用戶正在拷貝的文件包含的簡(jiǎn)單ASCII碼文本,如果在遠(yuǎn)程機(jī)器上運(yùn)行的不是UNIX,當(dāng)文件傳輸時(shí)ftp通常會(huì)自動(dòng)地調(diào)整文件的內(nèi)容以便于把文件解釋成另外那臺(tái)計(jì)算機(jī)存儲(chǔ)文本文件的格式。但是常常有這樣的情況,用戶正在傳輸?shù)奈募牟皇俏谋疚募?,它們可能是程序,?shù)據(jù)庫(kù),字處理文件或者壓縮文件。
在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝。二進(jìn)制傳輸模式在二進(jìn)制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對(duì)應(yīng)的。即使目的地機(jī)器上包含位序列的文件是沒(méi)意義的。例如,macintosh以二進(jìn)制方式傳送可執(zhí)行文件到Windows系統(tǒng),在對(duì)方系統(tǒng)上,此文件不能執(zhí)行。如在ASCII方式下傳輸二進(jìn)制文件,即使不需要也仍會(huì)轉(zhuǎn)譯。這會(huì)損壞數(shù)據(jù)。(ASCII方式一般假設(shè)每一字符的第一有效位無(wú)意義,因?yàn)锳SCII字符組合不使用它。如果傳輸二進(jìn)制文件,所有的位都是重要的。)
默認(rèn)狀態(tài)下,F(xiàn)TP 站點(diǎn)允許匿名訪問(wèn),F(xiàn)TP 服務(wù)器接受對(duì)該資源的所有請(qǐng)求,并且不提示用戶輸入用戶名或密碼。如果站點(diǎn)中存儲(chǔ)有重要的或敏感的信息,只允許授權(quán)用戶訪問(wèn),應(yīng)禁止匿名訪問(wèn)。
使用FTP時(shí)必須首先登錄,在遠(yuǎn)程主機(jī)上獲得相應(yīng)的權(quán)限以后,方可下載或上傳文件。也就是說(shuō),要想同哪一臺(tái)計(jì)算機(jī)傳送文件,就必須具有哪一臺(tái)計(jì)算機(jī)的適當(dāng)授權(quán)。換言之,除非有用戶ID和口令,否則便無(wú)法傳送文件。這種情況違背了Internet的開(kāi)放性,Internet上的FTP主機(jī)何止千萬(wàn),不可能要求每個(gè)用戶在每一臺(tái)主機(jī)上都擁有帳號(hào)。匿名FTP就是為解決這個(gè)問(wèn)題而產(chǎn)生的。匿名FTP是這樣一種機(jī)制,用戶可通過(guò)它連接到遠(yuǎn)程主機(jī)上,并從其下載文件,而無(wú)需成為其注冊(cè)用戶。
系統(tǒng)管理員建立了一個(gè)特殊的用戶ID,名為anonymous, Internet上的任何人在任何地方都可使用該用戶ID。通過(guò)FTP程序連接匿名FTP主機(jī)的方式同連接普通FTP主機(jī)的方式差不多,只是在要求提供用戶標(biāo)識(shí)ID時(shí)必須輸入anonymous,該用戶ID的口令可以是任意的字符串。習(xí)慣上,用自己的E-mail地址作為口令,使系統(tǒng)維護(hù)程序能夠記錄下來(lái)誰(shuí)在存取這些文件。值得注意的是,匿名FTP不適用于所有Internet主機(jī),它只適用于那些提供了這項(xiàng)服務(wù)的主機(jī)。當(dāng)遠(yuǎn)程主機(jī)提供匿名FTP服務(wù)時(shí),會(huì)指定某些目錄向公眾開(kāi)放,允許匿名存取。系統(tǒng)中的其余目錄則處于隱匿狀態(tài)。作為一種安全措施,大多數(shù)匿名FTP主機(jī)都允許用戶從其下載文件,而不允許用戶向其上傳文件,也就是說(shuō),用戶可將匿名FTP主機(jī)上的所有文件全部拷貝到自己的機(jī)器上,但不能將自己機(jī)器上的任何一個(gè)文件拷貝至匿名FTP主機(jī)上。即使有些匿名FTP主機(jī)確實(shí)允許用戶上傳文件,用戶也只能將文件上傳至某一指定上傳目錄中。隨后,系統(tǒng)管理員會(huì)去檢查這些文件,他會(huì)將這些文件移至另一個(gè)公共下載目錄中,供其他用戶下載,利用這種方式,遠(yuǎn)程主機(jī)的用戶得到了保護(hù),避免了有人上傳有問(wèn)題的文件,如帶病毒的文件。
FTP客戶端發(fā)起FTP會(huì)話,與FTP服務(wù)器建立相應(yīng)的連接。FTP會(huì)話期間要建立控制信息進(jìn)程與數(shù)據(jù)進(jìn)程兩個(gè)連接??刂七B接不能完成傳輸數(shù)據(jù)的任務(wù),只能用來(lái)傳送FTP執(zhí)行的內(nèi)部命令以及命令的響應(yīng)等控制信息;數(shù)據(jù)連接是服務(wù)器與客戶端之間傳輸文件的連接,是全雙工的,允許同時(shí)進(jìn)行雙向數(shù)據(jù)傳輸。當(dāng)數(shù)據(jù)傳輸完成后,數(shù)據(jù)連接會(huì)撤消,再回到FTP會(huì)話狀態(tài),直到控制連接被撤消,并退出會(huì)話為止。