哪种FTP传输模式被广泛使用?

时间:2009-08-11 13:10:03

标签: ftp networking standards-compliance

阅读FTP RFC(RFC959),我注意到一些我从未见过的模式,实际上似乎没有被流行的FTP软件(例如vsftpd)实现。特别是,对于STRU命令,通常只使用文件模式“STRU F”,而对于MODE命令,通常只使用流模式“MODE S”。

所以问题是,当遵循开发可互操作的FTP客户端和服务器软件的最佳实践时:

  • 支持其他STRU选项(记录和页面)是否有用?这些似乎很老式。
  • 支持其他MODE选项(阻止和压缩)是否有用?我可以看到压缩的这一点,但我特别想知道是否有任何客户端/服务器会阻止块存在。
  • 是否有关于哪些现有FTP实施支持哪些选项的调查?

(在MODE一,我可以看到为什么压缩是有用的,我更想知道是否有任何客户端/服务器期望块模式在那里)。

3 个答案:

答案 0 :(得分:3)

我维护一个自定义FTP服务器,并定期查看http://cr.yp.to/ftp.html这些问题。具体来说,我在http://cr.yp.to/ftp/type.html处遵循TYPE / MODE / STRU的建议,到目前为止没有任何问题。

没有客户我见过connect除了“STRU F”之外还发送了一个STRU请求。同样,我只见过“MODE S”。

答案 1 :(得分:0)

我建议搜索开源FTP客户端和服务器(特别是那些仍在积极更新的客户端和服务器),看看有多少客户端和服务器实现了这些“过时”的传输模式。

我做了一次(大约七年前)一个FTP客户端并实现了最基本的传输模式(ASCII和二进制,如果我没记错的话)。使用它时从未遇到过任何服务器的问题。

答案 2 :(得分:0)

听起来你最关心的是互操作性。客户端和服务器之间的答案有点不同。

对于服务器,您希望实现客户端使用的基本模式。对于每个客户端,您需要支持至少一个配置,因此组合的数量应该相对较低。超出最低限度,支持主动 - 被动模式可能是主要的补充(Mozilla社区长期以来一直希望被动支持,it is probably never going to happen)。

如果您是客户,提供良好的URL支持和日期/时间处理可能是最大的障碍。