FTP Ascii Transfer - возвращает ли клиент или сервер возврат каретки?

У меня проблема с переносом файлов ascii с компьютера под управлением Windows 7 на сервер Unix Solaris с использованием FileZilla 3. Проблема заключается в том, что текстовые файлы на компьютере Unix заканчиваются символами CR+LF, а не просто символом LF, что приводит к странным результатам символы в конце каждой строки.

Я понимаю проблему - символ ЧР должен быть удален. Мои вопросы довольно специфичны: клиент или сервер должны раздеть этого персонажа?

На этой странице fileZilla говорится, что дело в том, что ascii файлы всегда передаются с CR+LF, и клиент должен убедиться, что это произойдет. Затем сервер должен преобразовать его в собственный формат хост-машины, в данном случае Unix, поэтому он должен удалить символы CR.

Однако у меня не было этой проблемы с использованием WS_FTP, и мне любопытно, является ли страница FileZilla просто неверной, или если WS_FTP нарушает соглашение RFC для FTP и фактически передает файл без символа CR. Также возможно, что FileZilla верна, и проблема в FTP-сервере на Unix-машине.

Еще раз: нужно ли клиенту или серверу FTP конвертировать файлы ascii в правильный формат перевода строки?

1 ответ

Решение

Из RFC:

Конец линии

     The end-of-line sequence defines the separation of printing
     lines.  The sequence is Carriage Return, followed by Line Feed.

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

Другие вопросы по тегам