FTP or File Transfer Protocol is a standard protocol to share files between devices across a network. FTP allows a device (computer, mobile device, etc.) to connect to an FTP server and upload, download, and make changes to the FTP server. FTP requires a password and username to login to the FTP server.
There are several ways to connect to FTP clients: graphical interfaces, web-based FTP login, and command line access. Graphical interfaces allow drag-and-drop transfers, while command line tools allow for more explicit ways of transferring files. Web-based FTP logins allow you to connect to FTP servers in a web browser like standard HTTP addresses.
FTP is not designed to be secure, and has many weaknesses, including packet capture or sniffing, bounce attacks, spoof attacks, port stealing, and non-encryption. All FTP requests are in clear text and not encrypted in any way.
Several other types of file transfer like or based on FTP include FTPmail, SFTP, FTP over SSH, explicit FTP, and implicit FTP. FTPmail is email-based and used where FTP access is restricted. An email is sent to the remote FTP server containing FTP commands. The server responds with another email that contains the results and the requested files attached. FTPmail is not widely used today, due to the accessibility of FTP by internet users. SFTP transfers files over an SSH connection. It is similar to FTP, but it uses a different protocol. FTP over SSH is similar to SFTP, but instead of using a different protocol, it tunnels a standard FTP session over SSH. Explicit FTP uses FTP to connect, but requests that the session be encrypted, by using the "AUTH TS" command. Implicit FTP is an obsolete connection that uses an SSL or TLS connection.