If you’ve long been baffled by the abbreviation FTP, you aren’t alone. The File Transfer Protocol (FTP) isn’t on everyone’s mind these days, unlike HTTPS, so seeing it mentioned somewhere may confuse you.
The first FTP client applications existed long before operating systems had graphical user interfaces. So how could you possibly need some protocol from the early 1970s today?
Here’s the thing: FTP is still commonly used by skilled professionals in different areas — and not just web developers or system administrators. If you’re maintaining a personal or professional website, sooner or later, you’ll find yourself in need of a robust file transfer solution. We’ll help you understand what FTP is and what it’s used for.
What Is FTP?
FTP stands for File Transfer Protocol. This communication protocol is used for file exchange between a server and a client. FTP is useful for transferring files between computers, either remotely or within a local network — your personal computer can even act as an FTP server. FTP can also be used to upload files from a computer to a web hosting account.
The protocol was first developed in 1971 by Abhay Bhushan Pandey, a student at the Massachusetts Institute of Technology. FTP has since undergone several revisions in attempts to make it more secure. Now, there are at least three variations of the protocol — we’ll talk about them in more detail in the following sections.
FTP isn’t some niche technology for geeks — it’s commonly used by website owners worldwide. For example, if you want to update your WordPress website, you can use FTP to upload files to the host server directly, which is fast and effective.
How Does FTP Work?
Now that we’ve answered, “What is FTP?” let’s learn how it works.
FTP uses and relies on Transmission Control Protocol (TCP) to ensure all the data packets are sent correctly and to the proper destination. TCP establishes a connection between two devices, divides the data into segments, and sends the segments to the destination device, where they are reassembled into the original data stream.
FTP is built on a client-server model architecture. The protocol uses separate control (command) and data connections between the client and the server.
The control connection is always the first connection established with an FTP server. Its ultimate purpose is to enable clients to connect and send commands to the server as well as receive server responses.
The second type of connection is called the data connection. This is the channel through which an FTP server exchanges file listings and transfers files. When a client uses the control connection to “ask” an FTP server to transfer a file, this channel sends the said file.
The default ports for FTP (port 21 for the command connection and port 20 for the data connection) are standardized and widely used, so it is generally recommended to use these ports for FTP.
However, changing the ports used by FTP, if necessary, is possible. For example, you may need to change the ports if you are running multiple FTP servers on the same machine and want to avoid port conflicts or if you want to customize the port numbers for security or other reasons.
Now that you know the details, let’s see how it all comes together:
- A client establishes a connection to the FTP server by requesting the server’s IP address and port number. The server responds with a message indicating that the connection has been established.
- The client authenticates with the server by providing a username and password. If the authentication is successful, the server grants access to the client. Sometimes, anonymous access is also possible.
- The client can then issue FTP commands, such as upload, download, delete, or list files, to the server.
- For file transfers, the client opens a separate data connection to the server. The data connection transfers the actual file contents between the client and the server.
- When the file transfer is complete, the data connection is closed. The client then can issue further FTP commands or disconnect from the server.
You may have also heard the term “active FTP mode.” In FTP, the terms “active” and “passive” refer to the mode in which data connections are established between the FTP client and the server.
In active mode, the client lets the server know which destination port should be used for the data connection. In passive mode, the server “tells” the client which server-side port they should connect to, and the client initiates the connection.
By default, most FTP clients use active mode FTP, but they also often have the option to use passive mode FTP. Passive mode FTP avoids connectivity issues caused by client-side firewalls, allowing the client to initiate the data connection.
Overall, the choice between active and passive mode FTP depends on the network configuration and the firewall rules in place, and either mode can be used to transfer files between computers.
Some FTP servers require a user account with a username and a password, while others can be used anonymously. The latter is a riskier option — someone could mess with your files, upload illegal content, or simply fill up your storage space.
How To Use FTP to Transfer Files
To access an FTP server using a command prompt (command line), you can use the “ftp” command, which is a built-in command in most operating systems. Once the connection is established, you can send FTP commands to the server to obtain, upload, edit, or manage files.
- Open your internet browser and enter “ftp://” followed by the FTP server’s IP address or domain name in the address bar. For example, “ftp://ftp.example.com.”
- If prompted, enter your FTP login credentials, such as a username and password.
- Once you’re connected to the FTP server, you will see a list of directories and files on the server. You can navigate through the directories and view the contents of the files as you would in a normal file explorer.
- To download a file from the server, click on the file and select “Save As” from the context menu. Choose a location on your computer to save the file and click “Save.”
- To upload a file to the server, click the “Upload” button and select the file you want to upload. Choose a location on the server to save the file and click “Open.”
In Chrome and some other popular browsers, FTP support is disabled by default. You can re-enable FTP, but using a dedicated FTP client makes more sense.
What Is an FTP Client, and Why Do You Need One?
An FTP client is a software program that allows you to connect to an FTP server and transfer files between your computer and the server. FTP clients provide a user-friendly interface for transferring files and typically support various features, such as the ability to upload, download, delete, and list files on the server.
In short, a good FTP client is like a dashboard for your car. Sure, you can remove it and manually connect the necessary wires, but that’d be a painful, risky, and time-consuming job. The dashboard provides you with an intuitive driving experience, and so does an FTP client.
Here are the main advantages of using a popular FTP client:
- You can get a quick overview of your files and the files stored on your remote FTP server.
- You can drag and drop the files you want to move from your computer to the server and vice versa.
- You get more control over your transfers, such as the ability to pause or resume transfers or to transfer multiple files at once.
- You can create or delete directories and rename or delete files.
- You can switch to secure file transfer protocols, such as SFTP or FTPS, which can provide an additional layer of security when you’re transferring sensitive data.
Overwhelmed by the sheer number of FTP solutions out there? You can’t go wrong with FileZilla, the most popular FTP client. Despite its outdated interface, it’s intuitive and compatible with different operating systems.
In short, an FTP client can make it easier for you to manage your files on an FTP server and provides additional security when transferring sensitive data. Unless you’re an experienced sysadmin, you should always use an FTP client for your transfers to monitor downloads and keep your data safe.
What’s the Difference Between FTP and HTTP?
File Transfer Protocol (FTP) and Hypertext Transfer Protocol (HTTP) are both protocols used to transfer data over the internet, but they differ in a few key ways:
- FTP is a protocol specifically designed for transferring files between computers, while HTTP is a general-purpose protocol used to transfer data, such as web pages between a server and a client.
- FTP uses separate connections for control and data transfer between the client and the server, while HTTP uses a single connection for both control and data transfer.
- FTP is not a secure protocol and does not encrypt data transmitted over the network, while HTTP can be used in conjunction with security protocols such as SSL/TLS to encrypt data transmitted over the network.
Website owners are encouraged to migrate to HTTPS, a more secure HTTP extension. Over 78% of page loads are already HTTPS because this protocol helps keep websites and their visitors safe from cyberattacks.
What’s the Difference Between FTP and SMTP?
FTP uses separate connections for control and data transfer between the client and server. Meanwhile, SMTP uses a single connection for both control and data transfer.
FTP transfers files in their native format, and SMTP transfers email messages in a standardized MIME format. Finally, SMTP can be used over SSL/TLS protocols to encrypt data transmitted over the network, while FTP does not support encryption.
What’s the Difference Between FTP and SFTP?
SFTP uses a single connection to transfer both commands and data, unlike FTP, which uses separate connections. The default port for SFTP is 22. SFTP uses the same command set as FTP, so client software that supports one protocol can usually be used with the other protocol with minimal changes required.
Let’s look at how these protocols stack up against each other:
- Security. SFTP is effective against password sniffing and interception attacks. It protects the integrity of the data using encryption and cryptographic hash functions. This makes SFTP a better choice for transferring sensitive data.
- Channels. FTP uses separate connections for control and data transfer between the client and server, while SFTP uses a single connection for both control and data transfer. This makes SFTP more efficient and scalable than FTP.
- Prevalence. FTP is a well-established protocol supported by most operating systems and FTP clients. SFTP is also widely supported, but it may not be as widely available as FTP.
Overall, SFTP is a more secure, modern, and efficient alternative to FTP for transferring files between computers.
Another secure alternative to FTP is FTPS (FTP over SSL).
File Transfer Protocol Secure (FTPS) is a secure version of File Transfer Protocol (FTP) that uses Secure Sockets Layer (SSL) or Transport Layer Security (TLS) to encrypt data transmitted over the network.
FTPS is similar to FTP in that it transfers files between computers, but it provides an additional layer of security by encrypting the data transmitted over the network. This makes FTPS a good choice for transferring login credentials or financial information.
The most popular FTP client, FileZilla, allows you to enable FTP over TLS in a few clicks.
There are two versions of FTPS: explicit and implicit.
Explicit FTPS requires the client to initiate an SSL/TLS session before transferring files, while implicit FTPS assumes that all data transferred over the FTP connection is encrypted.
FTPS is widely supported by FTP clients and servers and is often used as an alternative to Secure File Transfer Protocol (SFTP) for secure file transfers. However, it may not be available on all platforms.
What Are the Pros and Cons of FTP?
All things considered, here are the main benefits of using FTP:
- No secret knowledge is needed. FTP is a straightforward protocol that is easy to set up and use. FTP clients, such as FileZilla, provide a user-friendly interface for transferring files.
- FTP is a well-established protocol that has been around for decades. It is supported by most operating systems and FTP clients.
- The protocol is well-suited for local networks/intranet.
- FTP is optimized for transferring large files and can transfer data at high speeds — which is great for uploading large files all at once. Technically, there’s no limit on the file size.
- The protocol is a good choice for transferring non-sensitive data.
- FTP can be used in scripts or scheduled tasks to automate the transfer of files between systems. You can pause or resume your transfers.
Now for the drawbacks of using FTP:
- As you already know, FTP does not encrypt data transmitted over the network, making it vulnerable to third-party interception.
- Without an FTP client, it can be tricky to keep track of your FTP file transfers.
- FTP uses separate control and data connections between the client and server, which can be inefficient and may not scale well to large numbers of simultaneous connections.
- PCI DSS compliance requirements can force you to abandon standard FTP due to security concerns.
- FTP requires a dedicated server to host the transferred files, which can be an additional financial burden for its users.
Common Use Cases for FTP
Now that you know what is FTP and its benefits and drawbacks, it’s time to talk about its actual usage. There are a few cases in which you’ll want to rely on FTP:
- Transferring large files. FTP is often used to transfer files that are too large to send via email or other means.
- Transferring files between servers. The protocol is extremely useful for uploading or downloading files from a web server in bulk.
- Sharing files with multiple users. You can make a folder on an FTP server available to multiple users, allowing them to access and download the shared files easily.
- Automating file transfers. FTP can be used in scripts or scheduled tasks to automate the transfer of files between systems.
- Backing up files. You can rely on this protocol to transfer files from one system to another for backup purposes.
FTP is still commonly used to transfer files behind the scenes for various B2B applications. You’re also very likely to use this protocol if you’re maintaining a fully functional commercial WordPress website. Kinsta, for example, supports the secure FTP version, SFTP.
File Transfer Protocol (FTP) can be used to manage a WordPress website in several ways:
- FTP is helpful for uploading WordPress themes, plugins, or media files without visiting your WordPress dashboard.
- If a WordPress website becomes corrupted or lost, FTP can help restore the website from a backup by transferring the backup files to the server.
- FTP can be used to access and edit WordPress files directly, which is helpful for troubleshooting and debugging issues with the website.
To use FTP to manage a WordPress website, you will need FTP client software, such as FileZilla or Cyberduck, and the FTP login credentials for your website. With the FTP client and login credentials, you can connect to your website’s server and transfer files as needed.
Thankfully, many FTP clients, including FileZilla, support SFTP, so you can use the same tools you are already familiar with to transfer files securely.
There you have it — a complete guide that answers “What is FTP?” and explains how it works as well as how you can use an FTP client to transfer files.
25,300+ companies rely on Kinsta for WordPress hosting because of our top-notch support team, high-end CPUs, and global availability. Wave goodbye to slow load times, unexpected downtime, and DDoS attacks — Kinsta’s got you covered.
- Easy setup and management in the MyKinsta dashboard
- 24/7 expert support
- The best Google Cloud Platform hardware and network, powered by Kubernetes for maximum scalability
- An enterprise-level Cloudflare integration for speed and security
- Global audience reach with up to 35 data centers and 275+ PoPs worldwide