R – Which FTP transfer modes are widely used

ftpnetworkingstandards-compliance

Reading the FTP RFC (RFC959), I notice some modes that I've never seen used, and indeed don't seem to be implemented by popular FTP software (vsftpd for example). In particular, for the STRU command, only file mode "STRU F" is commonly used, and for the MODE command, only stream mode "MODE S" is commonly used.

So the question is, when following best practice for developing interoperable FTP client and server software:

  • Is it useful to support the other STRU options (record and page)? These seem like something very old fashioned.
  • Is it useful to support the other MODE options (block and compressed)? I can see the point in compressed, but I'm particularly wondering whether any clients/servers will expect block to be there.
  • Are there any surveys of which existing FTP implementations support which options?

(On the MODE one, I can see why compressed is useful, I'm more wondering about whether any clients/servers will expect block mode to be there).

Best Answer

I maintain a custom FTP server and regularly refer to http://cr.yp.to/ftp.html for these sort of questions. Specificly, I followed the suggestions for TYPE/MODE/STRU at http://cr.yp.to/ftp/type.html and so far have had no issues.

No client I've seen connect has sent an STRU request besides "STRU F". Similarly, I've only ever seen "MODE S".

Related Topic