2009-08-11 4 views
3

Чтение FTP RFC (RFC959), я замечаю некоторые режимы, которые я никогда не видел, и, по-видимому, не реализуется популярным программным обеспечением FTP (например, vsftpd). В частности, для команды STRU обычно используется только файловый режим «STRU F», а для команды MODE обычно используется только режим потока «MODE S».Какие режимы передачи FTP широко используются?

Таким образом, вопрос, когда после наилучшей практики для разработки совместимую клиента и сервер программного обеспечения FTP:

  • он полезен для поддержки других вариантов STRU (запись и страница)? Они кажутся чем-то очень старомодным.
  • Полезно ли поддерживать другие параметры MODE (блокировать и сжимать)? Я вижу точку в сжатом состоянии, но мне особенно интересно, будут ли какие-либо клиенты/серверы ожидать, что блок будет там.
  • Есть ли какие-либо опросы, какие существующие реализации FTP поддерживают какие опции?

(В MODE один, я вижу, почему сжатие полезно, мне больше интересно, будут ли какие-либо клиенты/серверы ожидать, что будет режим блокировки).

ответ

3

Я поддерживаю пользовательский FTP-сервер и регулярно обращаюсь к http://cr.yp.to/ftp.html за эти вопросы. Конкретно я следил за предложениями для TYPE/MODE/STRU по адресу http://cr.yp.to/ftp/type.html и до сих пор не имел никаких проблем.

Ни один клиент, которого я видел, отправил запрос STRU помимо «STRU F». Точно так же я видел только «MODE S».

0

Я бы предложил искать FTP-клиенты и серверы с открытым исходным кодом (особенно те, которые все еще активно обновляются) и посмотреть, сколько из них реализуют эти «устаревшие» режимы передачи.

Я сделал один раз (около семи лет назад) FTP-клиент и реализовал только самые основные режимы передачи (ASCII и двоичные, если я правильно помню). Никогда не возникало проблем с любым сервером при его использовании.

+0

Для того, чтобы быть чистым, ASCII не является режимом передачи, это тип представления. Режимы передачи или MODE являются одним из S, B, C (поток, блок, сжатый). –

0

Похоже, вы в основном заинтересованы в функциональной совместимости. Ответ несколько отличается между клиентом и сервером.

Для сервера вы хотите реализовать основные режимы, которые используют клиенты. Для каждого клиента вам необходимо поддерживать минимум одну конфигурацию, поэтому количество комбинаций должно быть относительно низким. Помимо минимума поддерживающий активный и пассивный режим, вероятно, станет основным дополнением (сообщество мозилл давно нуждалось в пассивной поддержке и it is probably never going to happen).

Если вы клиент, предоставление хорошей поддержки по URL-адресам и обработка даты и времени, вероятно, являются самым большим барьером.