Skip to main content

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:

  1. The FTP client connects to the FTP server
  2. The client authenticates (login/password)
  3. The client:
  • requests a list of files
  • uploads or downloads files
  1. 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 ready
Premium

A concise answer to help you respond confidently on this topic during an interview.