April 16, 1971 is not just the day The Rolling Stone first released Brown sugarbut also the day of publication RFC 114celebrating FTP’s birthday.
In those days, the Vietnam War was in the spotlight, TCP / IP didn’t exist yet, Jimi Hendrix died 6 months ago, telnet was the new tough guy, and some of the most influential rock and roll artists were about to release their masterpieces, while FTP used a network protocol called NCP…
FTP has been enhanced 16 times over the years, adding support for TCP / IP, a secure extension also known as FTPS that uses the same technology as HTTPS, and more recent additions such as IPv6 support.
Fifty years after its inception, FTP is still very relevant, and millions of FTP servers are still available on the internetwhich is quite surprising given the bad news background from many people and companies like Dropbox writing about how bad FTP is combines a protocol with a complete product. Not to mention, the closest they’ve gotten to FTP is a much less flamboyant proprietary API that can only be used if Dropbox is kind enough to provide you with the key.
In 2021, what appears to be recognized progress is taking the form of proprietary protocols made behind closed doors and without any RFCs. Instead, vendors looking to build competing servers are left with reverse engineering the SDK, as did Minio with S3.
Also, how could we touch on the FTP topic without remembering the most infamous comment on HackerNews, which was the main source of inspiration for the creation of Filestash. Indeed, I believe it shouldn’t matter which protocol my mom’s tool uses. Once this tool is easy to use, she will be able to transfer the photos she wants to share, open videos, and all other things that shouldn’t require her to know about the protocol, as our engineering job is to abstract all of these tricky things so that someone who wants to access their bank account using a familiar browser does not have to choose a cipher when negotiating SSL.
FTP development
RFC 114 (April 1971) RFC 697 (July 1975): CWD Command RFC 765 (June 1980): TCP / IP RFC 959 (October 1985): Initial FTP specification RFC 1579 (Feb 1994): FTP with firewall support RFC 1635 (May 1994): How to Use Anonymous FTP RFC 1639 (June 1994): Large Address Record Operation RFC 1738 (December 1994): Uniform Resource Locators RFC 2228 (October 1997): FTP Security Extensions. RFC 2389 (August 1998): A function negotiation mechanism for the file transfer protocol. RFC 2428 (September 1998): Extensions for IPv6, NAT, and Enhanced Passive Mode. RFC 2577 (May 1999): FTP security considerations RFC 2640 (July 1999): FTP internationalization RFC 3659 (March 2007): Extending FTP Commands RFC 5797 (March 2010): FTP Commands and Extensions Registry. RFC 7151 (March 2014): HOST Command for Virtual Hosts