FTP stands for File Transfer Protocol. FTP is a standard network protocol used to transfer files between computers (a client and server) over a TCP/IP network. It is a function of Application layer and built on client-server architecture. Client controls the conversation, while server transmits the file content. Browser acts as a client and starts the conversation by making some request on the server. Through FTP, a client can remove, download, delete, or upload files on a server.
FTP works in the same way as HTTP and SMTP. Users provide authentication by signing in. Although, some servers work as Anonymous FTP means they provide their data without log in. When a client transfers a file to the server is called "Uploading" and server file transfer to client is called "Downloading". Thus, it is generally used to download files from a server over the internet and to upload files to a server using internet.
It works in a passive or active mode. In active mode, client initiates a request and server replies back via connecting data and transferring data. In passive mode, server uses command channel to send information to the client. Passive mode works well across Firewall and Network Address Translation (NAT) gateways.
Nowadays, HTTP is mostly used over FTP, whereas, FTP is still being used to transfer some files like in building a website, to download new applications, via web browsers.
The original FTP specification was written by Abhay Bhushan. It was published as RFC 114 on 16 April, 1971. In June 1980, it was replaced by RFC 765. The current specification is RFC 959. The first FTP applications were depended on DOS command prompt. Later, various graphical user interface (GUI) clients have been developed to allow user to upload and download file with ease.
FTP client is software designed to transfer files between computers using internet. Some FTP clients are given below: