logo
Учебник проектирование и внедрение компьютерных

6.1.4. Ftp отклики

Отклики состоят из 3-циферных значений в формате ASCII, и необязательных сообщений, которые следуют за числами. Подобное представление откликов объясняется тем, что программному обеспечению необходимо посмотреть только цифровые значения, чтобы понять, что ответил процесс, а дополнительную строку может прочитать человек. Поэтому пользователю достаточно просто прочитать сообщение (причем нет необходимости запоминать все цифровые коды откликов).

Каждая из трех цифр в коде отклика имеет собственный смысл. На рисунке 6.3 показаны значения первых и вторых цифр в коде отклика.

Отклик

Описание

1yz

Положительный предварительный отклик. Действие началось, однако необходимо дождаться еще одного отклика перед отправкой следующей команды.

2yz

Положительный отклик о завершении. Может быть отправлена новая команда.

3yz

Положительный промежуточный отклик. Команда принята, однако необходимо отправить еще одну команду.

4yz

Временный отрицательный отклик о завершении. Требуемое действие не произошло, однако ошибка временная, поэтому команду необходимо повторить позже.

5yz

Постоянный отрицательный отклик о завершении. Команда не была воспринята и повторять ее не стоит.

x0z

Синтаксическая ошибка.

x1z

Информация.

x2z

Соединения. Отклики имеют отношение либо к управляющему, либо к соединению данных.

x3z

Аутентификация и бюджет. Отклик имеет отношение к логированию или командам, связанным с бюджетом.

x4z

Не определено.

x5z

Состояние файловой системы.

Рисунок 6.3 Значения первой и второй цифр в 3-циферном коде отклика.

Третья цифра дает дополнительное объяснение сообщению об ошибке. Ниже приведены некоторые типичные отклики с возможными объясняющими строками.

Обычно каждая FTP команда генерируют отклик в одну строку. Например, команда QUIT сгенерирует следующий отклик:

221 Goodbye.

Если необходим отклик в несколько строк, первая строка содержит дефис вместо пробела после 3-циферного кода отклика, а последняя строка содержит тот же самый 3-циферный код отклика, за которым следует пробел. Например, команда HELP сгенерирует следующий отклик:

214- The following commands are recognized (* =>'s unimplemented).

   USER    PORT    STOR    MSAM*     RNTO    NLST    MKD      CDUP

   PASS    PASV    APPE    MRSQ*     ABOR    SITE    XMKD     XCUP

   ACCT*   TYPE    MLFL*   MRCP*     DELE    SYST    RMD      STOU

   SMNT*   STRU    MAIL*   ALLO      CWD     STAT    XRMD     SIZE

   REIN*   MODE    MSND*   REST      XCWD    HELP    PWD      MDTM

   QUIT    RETR    MSOM*   RNFR      LIST    NOOP    XPWD

214 Direct comments to ftp-bugs@bsdi.tuc.noao.edu.