FTP (File Transfer Protocol)
File Transfer Protocol (FTP) est un protocole standard pour la transmission de fichiers entre ordinateurs sur Internet par le biais de connexions TCP/IP.
Il s'agit d'un protocole de type client-serveur qui repose sur deux canaux de communication entre le client et le serveur : un canal de commande pour contrôler la conversation et un canal de données pour transmettre du contenu sous forme de fichiers. Les clients lancent des conversations avec les serveurs en demandant à télécharger un fichier. A l'aide de FTP, un client peut charger, télécharger, supprimer, renommer, déplacer et copier des fichiers sur un serveur. L'utilisateur doit généralement se connecter au serveur FTP, bien que certains serveurs donnent accès à tout ou partie de leur contenu sans connexion ; on parle alors de FTP anonyme.
Les sessions FTP fonctionnent en mode passif ou actif. En mode actif, après qu'un client a démarré une session par une demande sur le canal de commande, le serveur lance une connexion de données à destination du client et commence à transférer les données. En mode passif, c'est le serveur qui utilise le canal de commande pour envoyer au client les informations dont ce dernier a besoin pour ouvrir un canal de données. Comme c'est alors le client qui a l'initiative de toutes les connexions, ce dernier mode fonctionne bien pour franchir les pare-feu et les passerelles NAT (Network Address Translation).
FTP a été défini pour la première fois en 1971, avant les protocoles TCP et IP, et redéfini maintes fois depuis, par exemple pour utiliser TCP/IP (RFC 765 et RFC 959), puis Internet Protocol Version 6 (IPv6), (RFC 2428). En outre, comme sa définition initiale ne tenait guère compte de la sécurité, il a été amélioré à plusieurs reprises en ce sens ; par exemple, il existe des versions qui procèdent au chiffrement via une connexion TLS (FTPS) ou qui fonctionnent avec le protocole SFTP (Secure File Transfer Protocol), également appelé SSH.
Les utilisateurs peuvent interagir avec FTP via une simple interface de ligne de commande (par exemple, à partir d'une console ou d'une fenêtre de terminal sous Microsoft Windows, Apple OS X ou Linux) ou à l'aide d'une interface utilisateur graphique dédiée (GUI). Les navigateurs Web peuvent également servir de clients FTP.
Bien que les transferts de fichiers soient aujourd'hui largement traités au moyen du protocole HTTP, FTP est toujours couramment utilisé pour transférer des fichiers « en coulisse » pour d'autres applications, par exemple masqué derrière les interfaces utilisateur des applications bancaires ou sous la forme d’un service qui permet de créer un site Web, tel que Wix ou SquareSpace. Il est également utilisé, via des navigateurs Web, pour télécharger de nouvelles applications.