FTP(File Transfer Protocol,文件传输协议)是互联网上最早的标准文件传输协议之一,用于在客户端与服务器之间上传和下载文件,常见于网站部署和资料共享,现多被更安全的 FTPS、SFTP 取代。

| 类型 | 应用层文件传输协议 |
| 标准组织 | IETF(RFC 959 等) |
| 推出时间 | 20 世纪 70 年代初 |
| 默认端口 | 21(控制)/ 20(数据) |
| 加密 | 默认明文,可用 FTPS/SFTP 加密 |
| 工作模式 | 主动(PORT)/ 被动(PASV) |
FTP(File Transfer Protocol,文件传输协议)是一种基于客户端-服务器模式的标准网络协议,用于在计算机之间通过网络传输文件。
FTP 诞生于互联网早期,是历史最悠久的应用层协议之一,由 IETF 以 RFC 959 等文档标准化。它的核心用途很直接:让用户把文件上传到远程服务器,或从服务器下载文件到本地。在很长一段时间里,它是网站站长部署网页、企业分发资料的主力工具。
FTP 的一个显著设计特点是使用两条独立的连接:一条控制连接(默认端口 21)负责传递登录、切换目录、发起传输等命令;另一条数据连接专门负责传输文件内容和目录列表。根据数据连接由哪一方发起,又分为主动模式(PORT)和被动模式(PASV),被动模式对处于防火墙或 NAT 后面的客户端更友好,因此更常用。
登录方面,FTP 通常要求用户名和密码,但认证信息以明文方式在网络上传输;服务器也可以配置匿名 FTP(anonymous),允许任何人不设密码地下载公开资源,早年许多开源软件镜像站就是这样分发文件的。
由于 FTP 本身不加密,现代环境下直接使用原生 FTP 已不被推荐。常见做法有两种:一是 FTPS,即在 FTP 之上叠加 SSL/TLS 加密,保护登录凭据和传输内容;二是 SFTP(SSH 文件传输协议),它并非 FTP 的加密版,而是基于 SSH 的另一套协议,只需开放一个端口、天然加密,如今在服务器运维中更为主流。许多浏览器也已移除对 ftp:// 链接的内置支持。
问:FTP 和 SFTP 是同一个东西吗?答:不是。SFTP 基于 SSH,协议设计与 FTP 完全不同,只是用途相似;FTPS 才是 FTP 加上 SSL/TLS 加密的版本。
问:现在还应该用 FTP 吗?答:在公网上传输重要数据不建议使用原生 FTP,应改用 SFTP 或 FTPS;仅在受信任的内网或分发完全公开的资源时,FTP 才勉强可用。
问:FTP 连接失败常见原因是什么?答:多为防火墙或 NAT 拦截了数据连接,可尝试切换到被动模式,或检查服务器被动端口范围是否放行。

| 类型 | 应用层文件传输协议 |
| 标准组织 | IETF(RFC 959 等) |
| 推出时间 | 20 世纪 70 年代初 |
| 默认端口 | 21(控制)/ 20(数据) |
| 加密 | 默认明文,可用 FTPS/SFTP 加密 |
| 工作模式 | 主动(PORT)/ 被动(PASV) |
登录 后参与讨论
暂无讨论,来发表第一条评论吧