FTP(File Transfer Protocol)就是文件傳輸協(xié)議。通過FTP客戶端從遠(yuǎn)程FTP服務(wù)器上拷貝文件到本地計(jì)算機(jī)稱為下載,將本地計(jì)算機(jī)上的文件復(fù)制到遠(yuǎn)程FTP服務(wù)器上稱為上傳,上傳和下載是FTP最常用的兩個功能。FTP使用傳輸層的TCP協(xié)議進(jìn)行傳輸,因此客戶端與服務(wù)器之間的連接是可靠的,而且是面向連接,為數(shù)據(jù)的傳輸提供了可靠的保證。FTP的目標(biāo)有以下目標(biāo):
- 提高文件的共享性
- 提供非直接地遠(yuǎn)程操縱計(jì)算機(jī)
- 避免用戶因主機(jī)之間的文件存儲系統(tǒng)的差異而導(dǎo)致的變化
- 為數(shù)據(jù)的傳送提供可靠性和高效性
FTP協(xié)議模型如下圖所示
FTP使用TCP的服務(wù),它需要兩條連接。一條是數(shù)據(jù)連接用于數(shù)據(jù)傳送,一般使用端口21,而另一條是控制連接用于傳送控制信息(命令和響應(yīng)),一般使用端口20。控制連接需要傳送的只是控制信息,如一行命令或一行應(yīng)答碼,而數(shù)據(jù)連接需要傳送的數(shù)據(jù)類型繁雜,如文本文件、圖形文件、應(yīng)用程序等等。
FTP協(xié)議模型中使用到的交互元素包括用戶接口、USERPI、UPTP、SPI、SDTP的說明如下圖所示
FTP傳輸有兩種方式:文本傳輸模式和二進(jìn)制數(shù)據(jù)傳輸模式。其中文本模式又叫ASCII模式,二進(jìn)制模式又叫Binary模式。
FTP服務(wù)分為普通FTP與匿名FTP服務(wù)兩種類型。
常用FTP的命令有:
1) 接入命令
USER:指明用戶名
PASS:指明與用戶名對應(yīng)的密碼
ABOR: 異常中斷數(shù)據(jù)連接程序
QUIT:從系統(tǒng)注銷
REIN:重新初始化
2) 文件管理命令
CWD: 改變服務(wù)器上的工作目錄到指定目錄
CDUP: 改變服務(wù)器上的工作目錄到父目錄
DELE:請求刪除服務(wù)器上的文件。
LIST:列出子目錄或文件
MKD:請求在服務(wù)器上新建一個目錄
PWD: 顯示當(dāng)前工作目錄
RMD: 從服務(wù)器上刪除指定目錄
3) 數(shù)據(jù)格式化命令
TYPE: 定義文件類型,共有四種類型,所帶參數(shù)也有四種:A、E 、I 、L分別對應(yīng)ASCII,EBCDIC,IMAGB和LOCAL類型。
STRU: 定義數(shù)據(jù)的組織
MODE: 定義傳輸方式
4) 端口定義命令
PASV:服務(wù)器選擇端口,客戶端使用這個端口發(fā)送主動打開
PORT: 客戶端選擇端口,服務(wù)器使用這個端口創(chuàng)建主動打開
5) 文件傳送命令
RETR:讀取文件,文件從服務(wù)器端傳送到客戶端
STOR:存放文件,文件從客戶端傳送到服務(wù)器端
STAT: 返回文件的狀態(tài)
ALLOO: 在服務(wù)器為文件分配存儲空間
6) 雜項(xiàng)命令
HELP: 詢問服務(wù)器的信息
NOOP: 檢查服務(wù)器是否工作
SITE: 指定特定場所的命令
SYST: 詢問服務(wù)器使用的操作系統(tǒng)
客戶端發(fā)送 FTP 命令后,服務(wù)器返回響應(yīng)碼。響應(yīng)碼用三位數(shù)字編碼表示:
第一個數(shù)字定義命令的狀態(tài)。
1 表示服務(wù)器正確接收信息,還未處理。
2 表示服務(wù)器已經(jīng)正確處理信息。
3 表示服務(wù)器正確接收信息,正在處理。
4 表示信息暫時錯誤。
5 表示信息永久錯誤。
第二個數(shù)字是響應(yīng)類型的分類。
0 表示語法。
1 表示系統(tǒng)狀態(tài)和信息。
2 表示連接狀態(tài)。
3 表示與用戶認(rèn)證有關(guān)的信息。
4 表示未指明。
5 表示與文件系統(tǒng)有關(guān)的信息。
第三個數(shù)字提供了更加附加信息。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://blog.csdn.net/ouyang_peng/article/details/9633781