2.5.5. FTP返回码

1xx-肯定的初步答复

这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。

  • 110重新启动标记答复。
  • 120服务已就绪,在nnn分钟后开始。
  • 125数据连接已打开,正在开始传输。
  • 150文件状态正常,准备打开数据连接。

2xx-肯定的完成答复

一项操作已经成功完成。客户端可以执行新命令。

  • 200命令确定。
  • 202未执行命令,站点上的命令过多。
  • 211系统状态,或系统帮助答复。
  • 212目录状态。
  • 213文件状态。
  • 214帮助消息。
  • 215NAME系统类型,其中,NAME是AssignedNumbers文档中所列的正式系统名称。
  • 220服务就绪,可以执行新用户的请求。
  • 221服务关闭控制连接。如果适当,请注销。
  • 225数据连接打开,没有进行中的传输。
  • 226关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。
  • 227进入被动模式(h1,h2,h3,h4,p1,p2)。
  • 230用户已登录,继续进行。
  • 250请求的文件操作正确,已完成。
  • 257已创建“PATHNAME”

3xx-肯定的中间答复

该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。331用户名正确,需要密码。

  • 332需要登录帐户
  • 350请求的文件操作正在等待进一步的信息

4xx-瞬态否定的完成答复

该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。421服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。

  • 425无法打开数据连接。
  • 426Connectionclosed;transferaborted.
  • 450未执行请求的文件操作。文件不可用(例如,文件繁忙)。
  • 451请求的操作异常终止:正在处理本地错误。
  • 452未执行请求的操作。系统存储空间不够

5xx-永久性否定的完成答复

该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。500语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。

  • 501在参数中有语法错误
  • 502未执行命令
  • 503错误的命令序列
  • 504未执行该参数的命令
  • 530未登录
  • 532存储文件需要帐户
  • 550未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)
  • 551请求的操作异常终止:未知的页面类型
  • 552请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)
  • 553未执行请求的操作。不允许的文件名。

常见的FTP状态代码及其原因

  • 150-FTP使用两个端口:21用于发送命令,20用于发送数据。状态代码150表示服务器准备在端口20上打开新连接,发送一些数据
  • 226-命令在端口20上打开数据连接以执行操作,如传输文件。该操作成功完成,数据连接已关闭。
  • 230-客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录
  • 331-客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。
  • 426-命令打开数据连接以执行操作,但该操作已被取消,数据连接已关闭
  • 530-该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS的配置可能拒绝匿名访问
  • 550-命令未被执行,因为指定的文件不可用。例如,要GET的文件并不存在,或试图将文件PUT到您没有写入权限的目录