檔案傳輸協議(英文:File Transfer Protocol,簡稱為FTP)是用於在網路上進行檔案傳輸的一套標準協議。它屬於網路傳輸協議的應用層。
FTP是一個8位元的客戶端-伺服器協議,能操作任何型別的檔案而不需要進一步處理,就像MIME或Unicode一樣。但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求資料之間的時間,會非常長;並且不時的必須執行一些冗長的登陸行程。
FTP服務一般執行在20和21兩個埠。埠21用於在客戶端和伺服器之間傳輸資料流,而埠20用於傳輸控制流,並且是命令通向ftp伺服器的進口。當資料透過資料流傳輸時,控制流處於空閒狀態。而當控制流空閒很長時間後,客戶端的防火牆會將其會話置為超時,這樣當大量資料透過防火牆時,會產生一些問題。此時,雖然檔案可以成功的傳輸,但因為控制會話,會被防火牆斷開;傳輸會產生一些錯誤。
FTP雖然可以被終端使用者直接使用,但是它是設計成被FTP客戶端程式所控制。
執行FTP服務的許多站點都開放匿名服務,在這種設定下,使用者不需要帳號就可以登入伺服器,預設情況下,匿名使用者的使用者名是:「anonymous」。這個帳號不需要密碼,雖然通常要求輸入使用者的郵件位址作為認證密碼,但這只是一些細節或者此郵件位址根本不被確定,而是依賴於FTP伺服器的配置情況。
FTP有兩種使用模式:主動和被動。主動模式要求客戶端和伺服器端同時開啟並且監聽一個埠以建立連線。在這種情況下,客戶端由於安裝了防火牆會產生一些問題。所以,創立了被動模式。被動模式只要求伺服器端產生一個監聽相應埠的行程,這樣就可以繞過客戶端安裝了防火牆的問題。
一個主動模式的FTP連線建立要遵循以下步驟:
大多數最新的網頁瀏覽器和檔案管理器都能和FTP伺服器建立連線。這使得在FTP上透過一個介面就可以操控遠端檔案,如同操控本地檔案一樣。這個功能透過給定一個FTP的URL實作,形如ftp://
<伺服器位址>
(例如,ftp://ftp.gimp.org )。是否提供密碼是可選擇的,如果有密碼,則形如ftp://
蘊藏許多助人的知識與智慧。
關注藍眼知識學院