rd_45.134-2000 (524304), страница 23
Текст из файла (страница 23)
5.1.4. Диаграммы состояний, поясняющие выполнение команд определены в п.8.
5.1.5. Обязательно должны быть реализованы команды: USER, REIN, PORT, TYPE, STRU, MODE, RETR, STOR, NOOP.
5.2. Ответы FTP
От сервера клиенту по управляющему соединению информация передается в форме ответа сервера. Ответ сервера должен следовать после каждой команды клиента.
5.2.1. Формат ответов FTP
После одной команды может быть более одного ответа. Ответ сервера может состоять из одной или нескольких строк.
Однострочный ответ состоит из:
трехзначного номера ответа, передаваемого как три символа,
символа ,
текста,
символа .
Многострочный ответ состоит из:
трехзначного номера ответа, передаваемого как три символа,
символа "-"
текста первой строки
символа
текста второй строки
.....
трехзначного номера ответа, передаваемого как три символа,
символа ,
текста последней строки,
символа .
Значения номера ответа:
первая цифра
| 1 | Положительный предварительный ответ |
| 2 | Положительный окончательный ответ |
| 3 | Положительный промежуточный ответ |
| 4 | Временный отрицательный окончательный ответ |
| 5 | Постоянный отрицательный окончательный ответ |
вторая цифра
| 0 | Синтаксис |
| 1 | Информация |
| 2 | Соединения |
| 3 | Аутентификация и полномочия |
| 4 | Пока не определено |
| 5 | Файловая система |
третья цифра позволяет сделать более точное разделение значений ответов по функциональным категориям, определенным второй цифрой
5.2.2. Список кодов ответов приведен в табл. 2. Для всех ответов, кроме 110, текст ответа не обязательно должен соответствовать приведенному в табл. 2.
Таблица 2
Список кодов ответов
| Код | Текст |
| 110 | Ответ на маркер рестарта. В данном ответе текст ответа должен точно соответствовать приведенному ниже определению: MARK = Где yyyy - маркер потока данных от процесса клиента, а mmmm - эквивалентный маркер сервера. Символы пробела между маркерами и символом "=" являются существенными. |
| 120 | Служба будет готова через nnn минут. |
| 125 | Соединение данных открыто. Начало передачи. |
| 150 | Статус файла - ОК. Открываю соединение данных. |
| 200 | Команда выполнена успешно. |
| 202 | Команда не реализована. Является излишней на данном узле. |
| 211 | Статус системы или ответ помощи |
| 212 | Статус директории |
| 213 | Статус файла |
| 214 | Сообщение помощи. |
| 215 | NAME Имя системы имен. NAME - официальное имя системы в соответствии со списком Assigned Numbers. |
| 227 | Вхождение в пассивный режим. (h1, h2, h3, h4, p1, p2). |
| 230 | Пользователь идентифицирован, продолжение. |
| 250 | Операция с файлом выполнено успешно. |
| 257 | "PATHNAME" создано. |
| 220 | Служба готова для нового пользователя. |
| 221 | Служба закрывает управляющее соединение. |
| 225 | Соединение данных открыто. Передача не осуществляется. |
| 226 | Закрытие соединения данных. Операция с файлом выполнена успешно. |
| 331 | Имя пользователя принято, необходим пароль. |
| 332 | Need account for login. |
| 350 | Запрошенная операция над файлом ожидает дальнейшей информации. |
| 421 | Сервис недоступен. Закрываю управляющее соединение. |
| 425 | Не могу открыть соединение данных. |
| 426 | Соединение закрыто. Передача отменена. |
| 450 | Файл недоступен. |
| 451 | Запрошенная операция отменена. локальная ошибка. |
| 452 | Запрошенная операция не принята. Недостаточно памяти. |
| 500 | Синтаксическая ошибка. Команда нераспознана. |
| 501 | Синтаксическая ошибка в аргументах. |
| 502 | Команда не реализована. |
| 503 | Неправильная последовательность команд. |
| 504 | В команде не реализован данных параметр. |
| 530 | Нет подсоединения. |
| 532 | Необходимы права на сохранение файла. |
| 550 | Запрошенная операция отменена. Файл недоступен. |
| 551 | Запрошенная операция отменена. Неизвестный тип страницы. |
| 552 | Запрошенная операция отменена. Превышен предел памяти. |
| 553 | Запрошенная операция не принята. Неправильное имя файла. |
5.3. Последовательность команд и ответов
Разрешенные типы ответов сервера на команды клиента определены в табл. 3. Первыми приведены предварительные ответы (с допустимыми успешными ответами под ними), затем положительные и отрицательные окончательные ответы и в конце - промежуточные ответы с остающимися командами.
Таблица 3
Последовательность команд и ответов
| Операция | Команда | Коды разрешенных ответов |
| Установление соединения | 120 | |
| 220 | ||
| 220 | ||
| 421 | ||
| Login | USER | 230 |
| 530 | ||
| 500, 501, 421 | ||
| 331 | ||
| PASS | 230 | |
| 202 | ||
| 530 | ||
| 500, 501, 503, 421 | ||
| 332 | ||
| ACCT | 230 | |
| 202 | ||
| 530 | ||
| 500, 501, 503, 421 | ||
| CWD | 250 | |
| 500, 501, 502, 421, 530, 550 | ||
| CDUP | 200 | |
| 500, 501, 502, 421, 530, 550 | ||
| SMNT | 202, 250 | |
| 500, 501, 502, 421, 530, 550 | ||
| Logout | REIN | 120 |
| 220 | ||
| 220 | ||
| 421 | ||
| 500, 502 | ||
| QUIT | 221 | |
| 500 | ||
| Transfer parameters | PORT | 200 |
| 500, 501, 421, 530 | ||
| PASV | 227 | |
| 500, 501, 502, 421, 530 | ||
| MODE | 200 | |
| 500, 501, 504, 421, 530 | ||
| TYPE | 200 | |
| 500, 501, 504, 421, 530 | ||
| STRU | 200 | |
| 500, 501, 504, 421, 530 |
| File action commands | ALLO | 200 |
| 202 | ||
| 500, 501, 504, 421, 530 | ||
| REST | 500, 501, 502, 421, 530 | |
| 350 | ||
| STOR | 125, 150 | |
| (110) | ||
| 226, 250 | ||
| 425, 426, 451, 551, 552 | ||
| 532, 450, 452, 553 | ||
| 500, 501, 421, 530 | ||
| STOU | 125, 150 | |
| (110) | ||
| 226, 250 | ||
| 425, 426, 451, 551, 552 | ||
| 532, 450, 452, 553 | ||
| 500, 501, 421, 530 | ||
| RETR | 125, 150 | |
| (110) | ||
| 226, 250 | ||
| 425, 426, 451 | ||
| 450, 550 | ||
| 500, 501, 421, 530 | ||
| LIST | 125, 150 | |
| 226, 250 | ||
| 425, 426, 451 | ||
| 450 | ||
| 500, 501, 502, 421, 530 | ||
| NLST | 125, 150 | |
| 226, 250 | ||
| 425, 426, 451 | ||
| 450 | ||
| 500, 501, 502, 421, 530 | ||
| APPE | 125, 150 | |
| (110) | ||
| 226, 250 | ||
| 425, 426, 451, 551, 552 | ||
| 532, 450, 550, 452, 553 | ||
| 500, 501, 502, 421, 530 | ||
| RNFR | 450, 550 | |
| 500, 501, 502, 421, 530 | ||
| 350 |
| File action commands | RNTO | 250 |
| 532, 553 | ||
| 500, 501, 502, 503, 421, 530 | ||
| DELE | 250 | |
| 450, 550 | ||
| 500, 501, 502, 421, 530 | ||
| RMD | 250 | |
| 500, 501, 502, 421, 530, 550 | ||
| MKD | 257 | |
| 500, 501, 502, 421, 530, 550 | ||
| PWD | 257 | |
| 500, 501, 502, 421, 550 | ||
| ABOR | 225, 226 | |
| 500, 501, 502, 421 | ||
| Informational commands | SYST | 215 |
| 500, 501, 502, 421 | ||
| STAT | 211, 212, 213 | |
| 450 | ||
| 500, 501, 502, 421, 530 | ||
| HELP | 211, 214 | |
| 500, 501, 502, 421 | ||
| Miscellaneous commands | SITE | 200 |
| 202 | ||
| 500, 501, 530 | ||
| NOOP | 200 | |
| 500, 421 |
6. Синтаксис команд FTP
USER















