REFERENCES

RFCs

This list of references comes from the README of the em-ftpd gem, which is licensed under the same MIT license as this gem, and is Copyright (c) 2008 James Healy

There are a range of RFCs that together specify the FTP protocol. In chronological order, the more useful ones are:

  • RFC-854 - Telnet Protocol Specification

  • RFC-959 - File Transfer Protocol

  • RFC-1123 - Requirements for Internet Hosts

  • RFC-1143 - The Q Method of Implementing TELNET Option Negotation

  • RFC-2228 - FTP Security Extensions

  • RFC-2389 - Feature negotiation mechanism for the File Transfer Protocol

  • RFC-2428 - FTP Extensions for IPv6 and NATs

  • RFC-2577 - FTP Security Considerations

  • RFC-2640 - Internationalization of the File Transfer Protocol

  • RFC-3659 - Extensions to FTP

  • RFC-4217 - Securing FTP with TLS

For an english summary that's somewhat more legible than the RFCs, and provides some commentary on what features are actually useful or relevant 24 years after RFC959 was published:

For a history lesson, check out Appendix III of RCF959. It lists the preceding (obsolete) RFC documents that relate to file transfers, including the ye old RFC114 from 1971, "A File Transfer Protocol"

There is a public test server which is very handy for checking out clients, and seeing how at least one server behaves.

How to reliably close a socket (and not lose data)

Why is my TCP not reliable by Bert Hubert

LIST output format