FTP(文件傳輸協議,File Transfer Protocol)是一種用于在計算機網絡上交換文件的標準網絡協議。它是在客戶端和服務器之間傳輸文件的常用方法。FTP協議允許用戶通過互聯網或局域網將文件上傳到服務器或從服務器下載文件。
FTP工作在客戶端-服務器模型上,通常使用兩個不同的通信通道:命令通道和數據通道。默認情況下,FTP使用TCP端口21進行命令傳輸,使用端口20進行數據傳輸,但數據傳輸端口可以根據模式(主動或被動)有所不同。
FTP有兩種主要的模式:
- 主動模式(Active Mode):客戶端打開一個隨機的端口并通知服務器,服務器通過端口20連接到客戶端進行數據傳輸。
- 被動模式(Passive Mode):服務器打開一個隨機的端口并通知客戶端,客戶端通過這個端口連接到服務器進行數據傳輸。
FTP協議本身不加密數據,這意味著傳輸的內容可以被攔截和讀取。為了增加安全性,許多人使用FTPS(FTP Secure)或SFTP(SSH File Transfer Protocol)作為替代方案,以確保數據傳輸的安全性。