FTP (File Transfer Protocol)
FTP stands for File Transfer Protocol, which is a method of transferring files, typically from a computer to a server. Although it has fallen out of favor in modern times, it used to be commonly used by web developers to upload files to a server when creating a website. It is still a popular means of storing and accessing large files, particularly on intranets.
FTP and SFTP
By default, FTP is not secure. This means that the data that is transferred between a client and server is not encrypted, and can potentially be read or modified by a third party. This can cause privacy issues with sensitive files, so a secure version called SFTP exists.
SFTP stands for Secure File Transfer Protocol. It is built on top of the same FTP technology but includes SSH (Secure Shell) components, to increase security. SFTP encrypts files during transfer so that others cannot see which files you are transferring or their contents.
SFTP can be useful for a number of situations, particularly when privacy is required, such as when transferring data containing sensitive information. Even when security is not a priority, it is recommended to use SFTP over FTP where possible. The process is the same to the end-user, but SFTP adds additional security measures that are not included with FTP, so there is no benefit to not using SFTP if it is supported by the server.
What can FTP be used for?
FTP can be used to deploy websites to servers and make changes to files on live servers. It used to be the main method of deploying new websites, though, with the rise of cloud storage, it has been largely superseded by other transfer methods, such as automatic deployment from source control.
FTP can also be used as a way to transfer large files. FTP servers can be set up to contain important company documents that can be downloaded any time by employees. FTP servers often support fine-grain access permissions, so it is possible to mark specific folders as download only, restrict access by user account, or otherwise restrict access in some way.
How the File Transfer Protocol works
The File Transfer Protocol is simply a dedicated protocol for sending files between a client and a server. Every time a computer connects to another, it does so using a specific protocol, which is a method of efficiently transmitting data. Each protocol is tailor-made for its specific use case. For example, when connecting to a website, data is transferred over the Hypertext Transfer Protocol (HTTP).
HTTP and FTP work very similarly, in that they both enable the transfer of data from a client to a server and vice versa. The difference is, FTP was built to handle large file sizes, whereas HTTP is better optimized to handle multiple, smaller file transfers.
The File Transfer Protocol may run in one of two modes, active or passive, which determines how data transfers are initiated between client and server. FTP uses two ports: one for sending data, and one for receiving data. The data type can be set, which can help make data transfers more efficient depending on what is being transferred, as well as the file structure and data transfer modes.
Establishing a connection to the FTP server by the user
To access an FTP server, an FTP client is required. Such a client is usually a GUI program or app that enables users to connect to and then transfer files between their local machine and the server.
Screenshot of filezilla-project.org as an example of an FTP client provider.
To establish a connection, users need the FTP server's address, the port number, and the relevant user name and password. With a standalone client like FileZilla, the data only needs to be entered once in the designated fields and can be stored there. If the connection is made via the client integrated in the browser, the FTP server is addressed in the URL line of the browser. The general syntax for addressing is
FTP may be used anonymously. Typically, a user account is required to access an FTP server. However, this is not a requirement. Anonymous FTP servers allow users to connect to an FTP server anonymously. This was once a popular method of distributing software, and various publicly available shareware FTP servers existed. Professional software companies may also use anonymous FTP servers to distribute software updates. However, because of the need for users to have an FTP client and advancements in file transfer technology through other mediums, such as torrents and cloud storage, anonymous FTP servers are not as commonly used as they once were.