File Transfer Protocol (FTP) bezeichnet ein Standard-Netzwerkprotokoll für den Austausch von Dateien zwischen einem Client und einem Server. Es wurde 1971 entwickelt und ist ein grundlegender Bestandteil des TCP/IP-Protokollstapels. FTP ermöglicht es Benutzern, Dateien zwischen verschiedenen Geräten zu übertragen, was es zu einem unverzichtbaren Werkzeug in der Web-Entwicklung, im Online-Marketing und in der Automatisierung von Prozessen gemacht hat.
FTP arbeitet auf Basis des Client-Server-Modells. Der Client, typischerweise ein FTP-Client wie FileZilla, initiiert eine Verbindung zum Server, um Dateien hochzuladen, herunterzuladen oder zu verwalten. Die Kommunikation erfolgt über zwei getrennte Verbindungen: eine Steuerungsverbindung für Befehle und Statusmeldungen sowie eine Datenverbindung für den eigentlichen Dateitransfer. Es gibt zwei Betriebsmodi: den aktiven Modus, bei dem der Server die Datenverbindung initiiert, und den passiven Modus, bei dem der Client die Verbindung herstellt. Letzterer ist besonders nützlich, wenn der Client hinter einer Firewall oder einem NAT-Router arbeitet.
FTP wird häufig in der Web-Entwicklung eingesetzt, um Dateien wie HTML, CSS, JavaScript oder Bilder auf einen Webserver zu übertragen. Es ist auch ein beliebtes Mittel für den Austausch von Dateien in der Zusammenarbeit zwischen Teams, insbesondere in großen Projekten. Darüber hinaus wird FTP oft für die Automatisierung von Datenaustauschen zwischen Systemen genutzt, beispielsweise für regelmäßige Backups oder die Synchronisierung von Datenbeständen.
Ein Nachteil von FTP ist jedoch die mangelnde Sicherheit, da die Daten unverschlüsselt übertragen werden. Für sensible Anwendungen wird daher oft auf verschlüsselte Varianten wie FTPS (FTP über SSL/TLS) oder SFTP (SSH File Transfer Protocol) zurückgegriffen. Moderne Alternativen wie SFTP, SCP oder Cloud-basierte Lösungen bieten zudem höhere Sicherheit und Benutzerfreundlichkeit.