It has been fifty years since the release of the FTP protocol. FTP (File Transfer Protocol) dates from April, 1971 (RFC 114). Its original specification was written by computer scientist Abhay Bhushhan. After half a century of its release, the FTP protocol remains widely used and has millions of FTP servers all over the world.
Fifty years since the release of the FTP protocol
The File Transfer Protocol has been reviewed sixteen times over these past fifty years. For instance, in 1980 NCP — the network protocol which had been used so far — was replaced by TCP/IP. Revisions over the years have also amended and upgraded FTP with security extensions such as FTPS, IPv6 support, NAT, etc.
Specification | Date |
RFC 114 | April 1971 |
RFC 697 | July 1975 |
RFC 765 | June 1980 |
RFC 959 | October 1985 |
RFC 1579 | February 1994 |
RFC 1635 | May 1994 |
RFC 1639 | June 1994 |
RFC 1738 | December 1994 |
RFC 2228 | October 1997 |
RFC 2389 | August 1998 |
RFC 2428 | September 1998 |
RFC 2577 | May 1999 |
RFC 2640 | July 1999 |
RFC 3659 | March 2007 |
RFC 5797 | March 2010 |
RFC 7151 | March 2014 |
FTP: File Transfer Protocol
The File Transfer Protocol is a standard communication protocol based on a client-server architecture with separate control and data connections. FTP is used for transferring files between a server and a client over a network. For communication and data transfer, the File Transfer Protocol can run both in active and passive mode. The mode determines how data connections are established.
Besides, for ensuring a secure transmission, it can be secured with FTPS (SSL/TLS) or replaced with SFTP (SSH File Transfer Protocol). This way the content is encrypted and the username and password are protected.
Data transfer types
There are four types for transferring data over the network:
- Type A: ASCII. It is used for text file transfer. As different platforms have different types of line endings, ASCII translates line endings to properly adapt them to each platform.
- Type I: image or binary. It is used for image and video file transfer. It transfers files without changes.
- Type E: EBCDIC. It is used for plain text transfer between hosts using the EBCDIC encoding.
- Type L: local. Data is transferred in logical bytes of the size specified by the obligatory second parameter.
ASCII and Binary/Image are the most commonly used and implemented data transfer types.
Free and open-source FTP clients
Client | Release date | License |
NcFTP | 1991 | Clarified Artistic License |
FAR Manager (File and Archive Manager) | 1996 | BSD |
lftp | 1996 | GNU GPL |
cURL | 1997 | MIT |
gFTP | 1998 | GNU GPL |
tnftp (formerly lukemftp) | 1999 | BSD |
WinSCP (Windows Secure Copy) | 2000 | GNU GPL |
FileZilla Client | 2001 | GNU GPL |
Cyberduck | 2002 | GNU GPL |
net2ftp | 2003 | GNU GPL |
Fugu | 2003 | BSD |
FireFTP | 2004 | MPL 1.1 / Charityware |
Rclone | 2014 | MIT |
Macfusion | – | BSD |
For further information, you can visit Wikipedia’s comparison of FTP clients.
Free and open-source FTP servers
Server | Release date | License |
WAR FTP Daemon | 1996 | – |
FileZilla Server | 2001 | GNU GPL |
Pure-FTPd | 2001 | BSD |
ProFTPd | – | GNU GPL |
vsftpd (very secure FTP daemon) | GNU GPL |
For further information, you can visit Wikipedia’s comparison of FTP servers.