FTP(File Transfer Protocol),中文名称为“文件传输协议”,是TCP/IP协议族中的一个协议。
FTP使用客户端-服务器模式进行通信,客户端负责发送请求,服务器端则响应请求。
FTP的数据传输可以通过两种方式进行,一种是主动模式,一种是被动模式。在主动模式下,客户端发送PORT命令告诉服务器自己的IP地址和端口号,服务器接收到请求后将要传输的数据发送到客户端指定的端口,这种方式需要客户端开放相应的端口进行数据交换;在被动模式下,客户端发送PASV命令告诉服务器自己处于被动模式,服务器随后会返回自己的IP地址和端口号,客户端随后通过这个端口与服务器进行通信。
FTP广泛应用于文件传输领域,是许多网站、软件和操作系统之间文件传输的首选协议。
FTP被广泛应用于网站搭建、远程服务器管理、软件发布、多媒体文件共享等场景。在安全方面,FTP通过SSL/TLS加密协议保证这些数据传输的安全性。
尽管FTP广泛应用于文件传输,但是它的安全性问题也随之而来。FTP传输的数据是明文传输的,可能被黑客窃取或篡改,也可能被中间人攻击者篡改。为此,人们引入了SSL/TLS协议来解决这个问题,加密FTP传输过程中的数据,保护文件和数据的隐私和完整性。
FTP协议的历史可以追溯到1971年,当时A. Bhushan和L. Peterson在麻省理工学院(MIT)开发了一个可靠的文件传输协议——FILE TRANSFER PROTOCOL。FTP最初分为两个阶段,第一阶段是TELNET类似的用户界面,第二阶段则增加了新的算法和传输指令。