What is FTP?
FTP (File Transfer Protocol) is an application-layer protocol used to transfer files between a client and a server over a network.
In short: FTP lets you upload files to a server and download them from it.
Why FTP is needed
FTP is used when you need to:
- upload files to a server (for example, a website)
- download files from a server
- manage files on a remote server (create folders, delete files, rename them)
FTP used to be the main way to work with files on servers.
How FTP works (simplified)
FTP uses a client-server model:
- The FTP client connects to the FTP server
- The client authenticates (login/password)
- The client:
- requests a list of files
- uploads or downloads files
- The server executes the commands and responds
People usually use dedicated programs - FTP clients.
FTP's quirk: two connections
This is a popular interview question.
FTP uses two communication channels:
- a control connection - for commands
- a data connection - for transferring files
Because of this, FTP can be harder to configure in networks with NAT and firewalls.
Active and passive FTP modes
- Active mode - the server connects to the client itself
- Passive mode - the client connects to all of the server's ports
In practice, almost everyone uses passive mode, because it works better through a firewall.
FTP's main drawback
FTP does not encrypt data:
- the login and password are sent as plain text
- files are transferred without protection
So in its plain form, FTP is considered insecure.
Secure alternatives to FTP
- FTPS - FTP + SSL/TLS
- SFTP - file transfer over SSH
Modern systems more often use SFTP rather than FTP.
A real-life example
FTP is like a remote file manager:
- your computer is the client
- the server is a "remote drive"
- you copy files back and forth
Short answer for the interview
A ready-made phrasing:
FTP is an application-layer protocol designed to transfer files between a client and a server over a network. It lets you upload, download, and manage files on a remote server, but in its basic form it does not provide data encryption.
Short Answer
Interview readyA concise answer to help you respond confidently on this topic during an interview.