FTP檔案傳輸模式

2021-07-16 20:13:02 字數 1133 閱讀 8823

ftp可用多種格式傳輸檔案,通常由系統決定。大多數系統(包括unix系統)只有兩種模式:文字模式和二進位制模式。文字傳輸器使用ascii字元,並由回車鍵和換行符分開,而二進位制不用轉換或格式化就可傳字元,二進位制模式比文字模式更快,並且可以傳輸所有ascii值,所以系統管理員一般將ftp設定成二進位制模式。

一般來說:如果你用錯誤的模式傳輸你的,你將無法看到,看到的會是亂碼。如果你用錯誤模式上傳cgi指令碼,那麼就將無法執行你的指令碼,會看到類似server 500 error的出錯資訊。所以,必須使用正確的模式,和執行檔案必須用binary模式,cgi指令碼和普通html檔案用ascii模式上傳。

ascii和binary模式的區別:

用html和文字編寫的檔案必須用ascii模式上傳,用binary模式上傳會破壞檔案,導致檔案執行出錯。binary模式用來傳送可執行檔案,壓縮檔案,和檔案。如果你用ascii模式傳,會顯示一堆亂碼,你必須重新用binary模式傳。對於第二種情況,是因為有很多ftp伺服器和客戶端軟體能自動識別檔案型別,並採取相應的傳輸方式。

ftp是應用層協議,和具體的作業系統無關。ascii模式和binary模式的區別是回車換行的處理,binary模式不對資料進行任何處理,ascii模式將回車換行轉換為本機的回車字元,比如unix下是\n,windows下是\r\n,mac下是\r。

一般來說,我們最好都用binary方式,這樣可以保證不出錯。如果有文字格式轉換的問題,即unix格式的文字和dos格式的文字之間的轉換,有很多任務具可以做,不要在ftp傳輸的時候冒險,尤其是你如果對這些東西不是非常清楚的話。

可以使用mime,把所有的字元,轉換成0~128之間的字元,然後傳送,在接收方再將接收到的字元mime反向轉換。通常我們傳送郵件,就是使用這樣的字元轉換方式。

補充:文字模式和二進位制模式傳文字檔案的具體區別可以通過在linux下使用cat -a 檔名 看到兩者的區別,當然前提是在windows下上傳的文字為dos格式,這個可以用高階的文字編譯器看,如ultraedit等。兩者的區別是,二進位制模式上傳的文字比文字模式多乙個^m符號,這個就是windows下dos格式的/r回車符號,也就是上面提到的十六進製制od,在vi下使用全域性替換:%s/^m//g [^m使用ctrl+v+m而不是直接輸入^m],去掉所有的回車符或者使用dos2unix file進行轉換,這樣儲存後或者生成後的檔案就和文字模式上傳的檔案一樣了。

FTP檔案傳輸

ftp專案作業 要求 1.使用者加密認證 2.允許同時多使用者登入 3.每個使用者有自己的家目錄,且只能訪問自己的家目錄 4.對使用者進行磁碟配額,每個使用者的可用空間不同 5.允許使用者在ftp server上隨意切換目錄 6.允許使用者檢視當前目錄下的檔案 8.檔案傳輸過程中顯示進度條 9.支援...

FTP 檔案傳輸協議

1.什麼是ftp 檔案傳輸協議 英文 file transfer protocol,簡稱為ftp 是用於在網路上進行檔案傳輸的一套標準協議。它屬於網路傳輸協議的應用層。ftp是乙個8位的客戶端 伺服器協議,能操作任何型別的檔案而不需要進一步處理,就像mime或unencode一樣。缺點 ftp有著極...

FTP檔案傳輸格式

ftp可用多種格式傳輸檔案,通常由系統決定。大多數系統 包括unix系統 只有兩種模式 文字模式和二進位制模式。文字傳輸器使用ascii字元,並由回車鍵和換行符分開,而二進位制不用轉換或格式化就可傳字元,二進位制模式比文字模式更快,並且可以傳輸所有ascii值,所以系統管理員一般將ftp設定成二進位...