•••
Originally put forth as RFC 114 and used as such from 1971 to 1980, it changed when in 1980 it was put forth again as RFC 765[*3] by Jon Postel of ITI. This standard retired RFC 114 and introduced more concepts and conventions that survive to this day, including: A formal architecture for separate client/server functions and two separate channels, Site-to-site transfers, Passive (a.k.a. �firewall friendly�) transfer mode among other improvements. RFC 765 was replaced by RFC 959, which formalized directory navigation in 1985.
The third and current generation of FTP was a reaction to two technologies that RFC 959 did not address: SSL/TLS and IPv6. It was essentially a security upgrade to FTP.
The latest RFC�s that handle the FTP protocol are RFC 2228[*4] in 1997 (which added SSL extensions and is how FTP became FTPS) and RFC 2428[*5] , which added IPv6 suport in 1998.
While FTP matured into FTPS, it is not to be confused with SFTP.
FTPS[*6] is essentially a secured or hardened FTP protocol that uses two channels, one for the data transfer and one for directory listings and other data not associated with the actual transfer. It�s FTP + SSL[*7] .
SFTP[*8] is a complete departure from FTP and is part of the Secure Shell File Transfer Project[*9] and was built from the ground up as an extension of SSH. It is a secured file transfer protocol built as an extension of SSH[*10] itself. While many confuse SFTP with �an FTP session through SSH�, it isn�t. While FTPS is FTP with security extensions (namely SSL), SFTP is an extension of SSH that adds easy file transfer capabilities to the already secure SSH session. Also not to be confused with SCP[*11] , SFTP allows for many more dynamic commands than that of simple SCP.
It is interesting to note that many companies still use classic FTP over VPN[*12] connections as well.
Anyone lost yet? Just checking . . .
For the record, I prefer SFTP, since I love SSH and do everything I can over SSH, even mapping file systems over it with SSHFS[*13] (more info about SSHFS here[*14] ).
Here�s some write-ups on FTP�s 40th: One[*15] , two[*16] .