Which FTP transfer modes are widely used?

2019-07-13 16:07发布

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).

3条回答
一夜七次
2楼-- · 2019-07-13 16:21

It sounds like you are mostly concerned with interoperability. The answer is a bit different between client and server.

For server, you want to implement the basic modes that clients use. For every client, you need to support a minimum of one configuration, so the number of combinations should be relatively low. Beyond the minimum, supporting active -and- passive mode would probably the major addition (the mozilla community has wanted passive support for a long time, and it is probably never going to happen).

If you are a client, providing good URL support and date/time handling is probably the biggest barrier.

查看更多
三岁会撩人
3楼-- · 2019-07-13 16:26

I would suggest to search for open source FTP clients and servers (especially those still being actively updated) and look at how many of them implement these "obsolete" transfer modes.

I made once (about seven years ago) a FTP client and implemented just the most basic transfer modes (ASCII and binary, if I remember correctly). Never had a problem with any server when using it.

查看更多
Anthone
4楼-- · 2019-07-13 16:31

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".

查看更多
登录 后发表回答