【发布时间】:2011-04-18 20:30:09
【问题描述】:
我正在开发一个 FTP 服务器,在 STOR 发生之前我需要文件大小,我看到有一个名为 ALLO 的命令,我想知道是否有办法强制客户端发出该命令命令,因为客户端当然事先知道文件大小。
干杯。
【问题讨论】:
标签: networking ftp rfc
我正在开发一个 FTP 服务器,在 STOR 发生之前我需要文件大小,我看到有一个名为 ALLO 的命令,我想知道是否有办法强制客户端发出该命令命令,因为客户端当然事先知道文件大小。
干杯。
【问题讨论】:
标签: networking ftp rfc
我认为@Rob Adams 的方向是正确的,但我不同意发送552,它表示您正在中止转移;我认为在他们发送ALLO 之前保留请求是一种更有用的方法。通读RFC 959:
This (ALLO) command may be required by some servers to reserve
sufficient storage to accommodate the new file to be
transferred...
第 4.2 节列出了回复的有效格式,您可以在第一行显示错误,并在第二行详细说明ALLO 的要求。
此外,第 4.2.2 节 列出了这条消息...350 Requested file action pending further information.
如果您的服务器在收到ALLO 之前收到存储请求,它应该抛出一个350 并保持传输直到您获得会话超时、关闭或他们发送ALLO,这似乎是合理的。
【讨论】:
ALLO
只是一个猜测——您可以为 STOR 返回552 - Exceeded storage allocation (for current directory or
dataset).
。
【讨论】: