Все об FTP
Дмитрий Шестак

Понятие FTP (File Transfer Protocol) возникло на заре развития всемирной Сети вместе с таким понятием, как HTTP (Hypertext Transfer Protocol). Назначением FTP, как это видно из самого названия, была передача файлов. В те времена (начало 90-х) было лишь две возможности получить файл, расположенный где-нибудь на сервере в Америке: заказать его с помощью электронной почты или использовать FTP. Практически каждая сетевая организация имела свой FTP-сервер, на котором хранились огромные объемы данных. С развитием Сети и гипертекста FTP несколько отошел в тень, но было бы преждевременно хоронить данную службу. В данной статье мы постараемся объяснить почему.


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

FTP-mail
Нередко пользователю Сети гораздо удобнее и дешевле не выкачивать нужный файл с помощью FTP, а получить его в свой электронный почтовый ящик (доступ к которому иногда бесплатен, а объем неограничен). Все это послужило причиной для создания специальных сервисов, получивших название FTP-mail. Часто данную службу используют для получения больших файлов. Использовать FTP-mail не сложнее обычного текстового FTP-клиента. Необходимо лишь отправить письмо на специальный адрес ftpmail@сервер_FTP-mail, а в теле письма перечислить последовательность команд, которую вы бы использовали в обычной FTP-программе. Например:

To:ftpmail@somecompany.com
Subj:

open ftp.somecompany.com
cd /pub/downloads/
get newfiles.zip
close

При использовании FTP следует помнить некоторые особенности этого сервиса, прямо вытекающие из той операционной системы, где он возник - UNIX. Любой FTP-сервер всегда требует авторизации пользователя, т. е. ввод его имени и пароля. В зависимости от этого пользователю будет предоставлен доступ лишь к определенным каталогам и файлам вместе с возможностью осуществлять только разрешенные действия над содержимым FTP-хранилища. Что же делать, если вы не являетесь зарегистрированным пользователем? Практически каждый FTP-сервер предоставляет так называемый анонимный вход (другое название этого сервиса - анонимный FTP). Для анонимного (или гостевого) входа на сервер необходимо вместо имени пользователя указать ключевое слово anonymous и в качестве пароля набрать адрес своей электронной почты. После чего вам будет предоставлен доступ к общим каталогам, к данным, которыми владелец сервера хочет поделиться. Обычно, в таком режиме доступа к серверу пользователь может только просматривать каталоги и выкачивать файлы к себе на диск. Некоторые серверы создают специальные каталоги, куда каждый желающий также может закачать свои собственные файлы.

Как выглядит URL для FTP-сервера?
Для указания какого-либо ресурса в Сети используется URL (Uniform Resource Locator) — вы не раз его применяли, набирая в строке броузера заветные слова http://www.что-то.ru... FTP-сервера также являются ресурсами Сети, и для подключения к ним через WWW-броузер необходимо использовать несколько видоизмененную форму URL:

ftp://имя_пользователя:пароль@адрес_FTP-сервера:порт/путь_к_файлу

Для использования анонимного FTP URL выглядит намного проще:

ftp://адрес_FTP-сервера/путь_к_файлу

Например: ftp://ftp.somecompany.com/pub/downloads/newfiles.zip

Для чего нужен FTP в нынешнее время, время гипертекста? Например, его можно использовать для закачивания домашних страничек на бесплатные серверы, предоставляющие место под них. Это гораздо удобнее, нежели применять HTTP, когда на специальной страничке сервера вы указываете файлы, которые надо закачать. Применяется также само выкачивание файлов из многочисленных FTP-архивов. Существуют тысячи серверов, предоставляющих анонимный FTP и гигабайты самой разнообразной информации: от фотографий из космоса до дистрибутивов общедоступных программ.

Как это было сначала

До создания графических броузеров и вообще программ с дружественным оконным интерфейсом практически любая программа работала в текстовом режиме и управление осуществлялось из командной строки. Программа работы с FTP, которая так и называлась ftp, не была исключением. После ее запуска, соединения с указанным FTP-сервером и авторизации вы попадали в командную строку, где могли использовать команды FTP для работы с удаленным файл-сервером. Протокол FTP никто не менял и до сих пор, поэтому все современные программы работают с этими командами. Правда, пользователю нет нужды набивать их вручную - за него это сделает программа. Тем не менее знать их полезно - многие FTP-программы (или как их часто называют - FTP-клиенты) позволяют вручную вводить команды FTP и иногда удобнее работать с простыми командами протокола, нежели применять интерфейс используемого FTP-клиента. Наиболее часто примененный список команд FTP приведен в таблице 1.

Таблица 1. Команды FTP
Команда Описание
ascii Переводит FTP-сервер в режим работы с текстовыми (ASCII) файлами. Для того чтобы передавать текстовый файл, вам необходимо переключиться в этот режим (он принимается по умолчанию при соединении с сервером).
binary Переводит FTP-сервер в режим работы с двоичными файлами. Необходимо переключиться в этот режим до передачи двоичного файла.
bye Закончить сеанс с FTP-сервером.
cd каталог Перейти в указанный каталог на удаленном сервере.
cdup Перейти в верхний каталог из текущего.
close Закончить сеанс с FTP-сервером.
dir [имя_файла] Вывести содержимое текущего каталога или информацию об указанном файле на удаленном компьютере.
get имя_файла [имя_локального_файла] Загрузить указанный файл из текущего каталога FTP-сервера на локальный компьютер. При желании можно указать новое имя файла, под которым он будет записан на ваш компьютер. Специальная опция -r позволяет вам продолжить скачивание файла, если, например, вы не смогли скачать его целиком за прошлый сеанс соединения с FTP-сервером.
help [FTP-команда] Вывести подсказку о командах (или об указанной команде) FTP, используемых на сервере.
Ls Аналогично dir. mget имена_файлов Загрузить перечисленные файлы из текущего каталога FTP-сервера на локальный компьютер. При задании имен файлов можно также использовать шаблоны (т. е. символы "*" и "?")
mput имена_файлов Переписывает указанные файлы с локального компьютера на удаленный. Эта команда аналогична команде put, но позволяет использовать шаблоны при задании имен файлов.
open имя_сервера Открыть новое соединение с указанным FTP-сервером.
Prompt При использовании команд mput и mget, программа будет спрашивать подтверждение о перемещении каждого файла. Чтобы отключить эту возможность, необходимо применить команду prompt.
put имя_файла [имя_удаленного_файла] Загрузить на удаленный сервер указанный файл, который расположен на локальном компьютере. Можно также указать другое имя, под которым файл будет помещен на удаленном компьютере.
Pwd Вывести имя текущего каталога на FTP-сервере.
Status Показать используемый режим передачи информации - текстовый или двоичный.
System Выводит имя операционной системы, используемой на удаленном компьютере.
User Регистрирование на удаленном сервере под новым именем пользователя.
Quit Заканчивает сеанс с удаленным компьютером.

Что же делать, если нет текстового FTP-клиента? Вместо него для работы с FTP-сервером может быть использован обыкновенный WWW-броузер. После набора в строке адреса URL желаемого FTP-сервера ваш броузер подключится к нему и выведет содержимое удаленного каталога. На первый взгляд все замечательно и подобное использование броузера в качестве FTP-клиента крайне удобно - получается "WWW-броузер и FTP-клиент в одном флаконе". Однако при более подробном рассмотрении способов передачи файлов и работы с файловыми серверами возникает несколько минусов, заставляющих использовать отдельный FTP-клиент.

Основное замечание - отсутствие возможности докачки файла. Если связь с сервером внезапно оборвалась и вы не успели скачать файл целиком (что случается весьма часто при выкачивании больших файлов с очень удаленных серверов), то вам придется скачивать весь файл с самого начала. Дополнительные неприятности могут возникнуть, если вы работаете с Сетью через proxy-сервер. При обрыве соединения некоторые proxy-серверы могут посчитать незаконченный "огрызок" за целый файл и поместить его у себя на диске. При последующих попытках выкачивания файла через WWW proxy-сервер будет выдавать только урезанный файл, и вам придется либо отказаться от proxy (что, кстати, не для всех возможно), либо подождать некоторое время, пока proxy-сервер не "забудет" про ваш файл. Проблема недокачанных файлов решается установлением и использованием специальных программ - Download-менеджеров, таких как ReGet или NetVampire (мы уже писали в ПЛ о подобных программах). Другим, менее болезненным фактом является меньшая скорость работы "FTP через HTTP". Особенностью гипертекстового протокола HTTP является обрыв связи после получения данных, т. е. при каждом переходе в другой каталог удаленного FTP-сервера броузер будет снова подключаться к нему, выполнять авторизацию и лишь потом получать данные. Разница во времени, конечно, не слишком большая, но все же ощутимая при низком качестве связи и соединения. И наконец, последним минусом является невозможность загрузки своих файлов на удаленный компьютер через WWW-броузер.

Использование Internet Explorer и ему подобных программ в качестве FTP-клиентов обосновано при необходимости простого и сиюминутного доступа к серверу, небольшого размера требуемых файлов и наличии хорошего качества соединения. Для более серьезной работы все же рекомен-

дуется установить специальный FTP-клиент, большое количество которых можно обнаружить в просторах Глобальной сети.

Современные FTP-клиенты

На "электронных складах" программных продуктов наподобие http://www.download.com/ размещено большое количество FTP-клиентов для всевозможных операционных систем. Проведем небольшой обзор наиболее интересных и популярных из них.

WS_FTP

Это наиболее простая программа работы с FTP-серверами. По сути дела, она просто добавляет графический интерфейс для FTP-клиента. Ее окно поделено на две части (что стало уже стандартом для всех графических FTP-клиентов): слева отображается каталог локального диска, справа - каталог на удаленном компьютере. Кнопки рядом с соответствующими частями окна позволяют управлять файлами и каталогами. Как на локальном, так и на удаленном компьютере вы можете создавать и удалять каталоги, переименовывать файлы, запускать их и просматривать (при этом если выполняемый файл находится на удаленном сервере, то он сначала будет загружен в локальный временный каталог). Помимо обычных команд работы с файлами, программа предоставляет возможность использования специальных FTP-команд, список которых появляется при щелчке правой кнопкой мыши. Перемещать файлы по Сети можно простым перетаскиванием мышью имен файлов из одного списка в другой. При таком копировании можно задать режим передачи файлов (текстовый или двоичный) или же позволить WS_FTP самой его определять, основываясь на расширении передаваемого файла.


 WS_FTP в действии.

При соединении в диалоговом окне вы должны указать адрес FTP-сервера, имя пользователя и пароль, а также каталоги, в которые следует автоматически перейти на локальном и удаленном компьютере при установлении соединения. Подобная информация сохраняется WS_FTP, и при последующих соединениях вам уже нет необходимости вспоминать и задавать заново эти параметры. Кроме того, в программу заранее введена подборка популярных FTP-серверов, так что вы можете сразу же после установки WS_FTP приступить к просмотру и скачиванию файлов. Вдобавок, панель настроек программы позволяет указать число попыток соединений с сервером, время ожидания ответа от него и используемый порт FTP-сервера (для FTP это значение обычно равно 21). WS_FTP поддерживает firewall и предоставляет возможности по настройке параметров работы с ним.

FTP Explorer

Более сложным и функциональным FTP-клиентом является FTP Explorer.

Его основным преимуществом является работа с несколькими соединениями. Вы можете начать выкачивать большой по объему файл с какого-нибудь FTP-сервера, после чего подсоединиться к другому серверу и работать с ним. Передача файла будет осуществляться в фоновом режиме. Как только программа закончит передачу информации, она автоматически прервет соединение с первым сервером. Специальное окно отслеживает состояние передачи файлов, и вы без проблем сможете следить за процессом обмена информации между вашим компьютером и удаленным. Вдобавок, FTP Explorer автоматически продолжает выкачивание или закачивание прерванных файлов, что крайне полезно при работе в режиме "автопилота".


 Вот так выглядит популярный FTP-сервер Walnut Creek под FTP Explorer.

Для того чтобы сообщить посетителю о том, что хранится на сервере, в каталогах размещаются специальные индексные файлы (обычно это файлы с именем вида 00index.txt или index.txt), в которых описано содержание текущего каталога. FTP Explorer может автоматически загружать подобные файлы описания и выводить полученную информацию рядом с именем файла в списке содержимого каталога.

Подключение к FTP-серверу осуществляется с помощью специального списка, в котором хранятся все параметры соединения. Данный список можно сохранить в отдельном файле или импортировать из аналогичного FTP-клиента (например, CuteFTP). В FTP Explorer также предусмотрена возможность сохранения этого списка в качестве отдельной папки, которая размещается на Рабочем столе Windows. После этого соединение осуществляется простым щелчком мыши. Помимо функции занесения сервера в подобный список, существует возможность "быстрого соединения" - вам нужно лишь задать необходимые параметры сервера - адрес, имя пользователя и пароль - для соединения с ним. Каждое соединение к тому же еще и кэшируется FTP Explorer, что значительно повышает скорость работы с серверами FTP.

Можно не только применять графический "drag and drop", но и напрямую "общаться" с сервером: программа также позволяет набирать команды протокола FTP. Чтобы найти специфические файлы в Internet, FTP Explorer способен взаимодействовать со специально предназначенной для этого программой fpArchie.

LeechFTP

LeechFTP является бесплатным, но довольно мощным FTP-клиентом с уникальными возможностями и приятным графическим интерфейсом. Особенностью этой программы является возможность работы с несколькими серверами одновременно. Все соединения представляются в виде так называемых нитей (thread), перед которыми ставится определенная задача - загрузка файла. LeechFTP позволяет иметь несколько нитей одновременно, одна из которых предназначена для перемещения по каталогам удаленного сервера, а остальные - для передачи файлов. Как только пользователь даст команду передачи файла, создается новая нить, которая начинает процесс обмена информацией в фоновом режиме, а вы можете продолжать переходить из каталога в каталог и даже подключаться к другим серверам. Нити следят за обрывами файлов и при их возникновении автоматически пытаются продолжить передачу файла с момента обрыва.


 Адреса и параметры серверов хранятся в удобной древовидной форме.

Пользователь имеет полный контроль над нитями: он может отложить перемещение файла, установить приоритет выполнения задач нитей или задать ограничение для ширины используемого канала (так называемый bandwidth). Подобные возможности позволяют совмещать выкачивание файлов в фоновом режиме и одновременно просматривать странички Сети - передача файлов не будет "забивать" весь канал. Список нитей можно еще и сохранить для того, чтобы продолжить передачу информации позже, при последующих соединениях с Internet.


 LeechFTP обладает довольно привлекательным интерфейсом.

Некоторые FTP-серверы, на которых стоит операционная система Unix, предоставляют крайне удобный сервис: они могут передать целый каталог со всем его содержимым в качестве одного TAR-файла. Это особенно полезно, если вам необходимо скачать большое количество файлов. LeechFTP поддерживает данный сервис.

Аналогично FTP Explorer программа предоставляет доступ к FTP-поиску. В случае с FTP Explorer вам необходимо сначала установить на свой компьютер специальную программу, fpArchie. В LeechFTP все гораздо проще: программа связывается по HTTP со специализированным FTP-поисковым сервером ftpsearch.lycos.com и выдает в специальное окно результат работы.


 Среди возможностей LeechFTP есть и поиск файлов в Сети.

Также данный FTP-клиент хранит адреса и параметры используемых FTP-серверов в качестве специальных закладок (bookmark). Закладки представляются наподобие дерева каталогов на диске, что довольно удобно и наглядно по сравнению с длинным, неупорядоченным списком, который используют другие программы.

В целом LeechFTP очень удобная и, что самое главное, бесплатная программа для работы с FTP, предоставляющая возможности, которые отсутствуют даже в некоторых коммерческих продуктах. Ее популярность подтверждают высокие позиции в рейтингах файловых серверов.

CuteFTP

Несомненный лидер среди FTP-клиентов, уже довольно долго остающийся на высоте за счет все более новых и сложных функций, отсутствующих у конкурентов. Стоит сразу отметить, что CuteFTP - коммерческий продукт и большинство его самых "приятных" возможностей отключаются после месяца бесплатного использования.


 CuteFTP хранит информацию о FTP-серверах в виде удобной древовидной структуры. Вместе с программой поставляется солидный набор уже предопределенных серверов, так что вы можете приступить к работе с FTP сразу же после установки CuteFTP.

Единственным существенным минусом этого FTP-клиента является невозможность осуществления загрузки файлов в фоновом режиме. Эта проблема решается запуском нескольких копий программы, но в явном виде подобное решение не было предусмотрено. Вместо этого, CuteFTP предоставляет довольно гибкую систему поочередной загрузки файлов, несколько схожей с механизмом нитей, реализованным в LeechFTP. Отличием является то, что LeechFTP осуществляет одновременно несколько соединений с разными FTP-серверами, а CuteFTP поочередно взаимодействует с каждым сервером и последовательно выполняет задачи из очереди. Когда пользователь решает переместить файл с локального компьютера на удаленный или наоборот, его запрос помещается в специальную очередь, которая последовательно обрабатывается CuteFTP. Операции с файлами могут начинаться сразу, или пользователь, перемещаясь по разным серверам, дает отложенные "поручения" программе. После завершения "отдачи распоряжений" пользователь командует CuteFTP приступить к выполнению задач, и программа последовательно обрабатывает каждую задачу. Можно регулировать положение заданий в очереди, а также откладывать их выполнение. Более того, для полноценного режима работы на "автопилоте" вы можете указать, какую операцию необходимо произвести после окончания передачи файлов: разорвать соединение, закрыть программу, разорвать связь с Internet, выключить компьютер или закончить работу текущего пользователя.

Специальной возможностью CuteFTP является передача файлов между двумя серверами (необходимо, правда, чтобы используемые серверы поддерживали подобный способ передачи файлов). Для этого достаточно запустить две копии CuteFTP, на каждой из них установить соединение с необходимыми серверами и просто перетащить мышью файл из одного окна программы в другое.


 CuteFTP на сервере ID Software

Среди других уникальных возможностей CuteFTP - автоматическое продолжение закачивания или выкачивания файлов с сервера, сравнение удаленного каталога с локальным, создание облегчающих навигацию "закладок" на локальные и удаленные каталоги. Система Smart Keep Alive (SKA) позволяет "обмануть" FTP-сервер и не позволить ему оборвать соединение из-за отсутствия каких-либо действий со стороны клиента в течение некоторого времени. Дело в том, что все серверы ограничивают количество подсоединенных пользователей. Нередко это количество достаточно мало и сервер постоянно "занят". Если же вы подключились к подобному FTP-серверу, но вынуждены оторваться, например для прочтения почты, система SKA будет отправлять какие-нибудь бессмысленные команды серверу (например, показать текущий каталог, вывести режим передачи файлов и т. п.) и, таким образом, он не сможет прекратить сеанс связи.

Кроме того, программа предоставляет довольно широкие возможности по настройке работы с firewall. Дополнительные удобства достигаются с помощью функций работы с макросами. Вы сможете записать часто исполняемые, рутинные задачи в макрос и выполнять их простой командой меню.

Отдельное внимание в программе CuteFTP уделено поиску файлов в Сети. Помимо функции элементарного вывода результатов поиска, данный FTP-клиент обладает рядом достаточно полезных возможностей в этой области. После просмотра результатов поиска вы можете попытаться загрузить необходимый файл с указанного сервера. Специальная команда находит все идентичные файлы, размещенные на других серверах, и поочередно пытается их загрузить. Если один сервер дал сбой или ошибку, CuteFTP будет пытаться скачать указанный файл с другого сервера.

CuteFTP имеет еще достаточное количество интересных и уникальных функций, позволяющих наиболее результативно и производительно работать с FTP-серверами, но перечислить их все просто не позволит объем журнальной статьи.

Куда пойти?

Мы рассмотрели вопросы "что" и "как" о FTP. Остается лишь выяснить, к каким серверам подключаться и где найти необходимые файлы?

Можно воспользоваться одним из перечисленных в таблице 2 FTP-серверов. Далее попытаться поискать с помощью специальных сайтов. Одним из наиболее быстрых и самых старых является сайт http://www.submarine.ru/ftpsearch.lycos.com (когда будете набирать адрес, не забудьте написать "http://", иначе "умный" броузер, например Microsoft Internet Explorer, попытается подсоединиться к FTP-серверу, а не к WWW-страничке). Он позволяет искать как файлы с расширениями EXE и ZIP, так и, например, музыкальные (MP3 и MIDI). Если вы используете LeechFTP или CuteFTP, попытайтесь найти необходимый вам файл с помощью возможностей FTP-клиентов.

Таблица 2. Наиболее популярные FTP-серверы
Адрес Описание
ftp://ftp.cdrom.com/ Walnut Creek CDROM online - огромный выбор программ любого профиля для любых операционных систем.
sunsite.unc.edu Большой выбор программ для Unix.
oak.oakland.edu Архив бесплатных и условно бесплатных программ для MS DOS и Windows.
ftp://ftp.winsite.com/ Набор программ для Windows 9x/NT.
ftp://ftp.coast.net/ FTP-архив SimTel: игры, программы для MS DOS, Windows и OS/2.
ftp://ftp.download.com/ FTP-сервер известного файлового сервера http://www.download.com/
ftp://ftp.uml.edu/ FTP-архив Массачусетсского университета.
ftp://ftp.rsa.com/ Криптографический архив от RSA Data Security.
ftp://ftp.csua.berkeley.edu/ Хранилище программ для криптографии.
nssdc.gsfc.nasa.gov Сайт космических фотографий от NASA.
ftp://ftp.ddj.com/ Архив журнала для программистов Dr. Dobbs Journal.
ftp://ftp.cs.ruu.nl/ Архив классической музыки.
ftp://ftp.microsoft.com/ FTP-сервер Microsoft.
ftp://ftp.netscape.com/ FTP от Netscape.
ftp://ftp.redhat.com/ Сервер Red Hat Linux.



kiarchive.ru имеет и FTP, и HTTP-зеркало для отображения своих ресурсов.

До WWW файлы можно было найти, используя специальное средство поиска archie, которое хранило информацию о содержимом всех FTP-серверов. Необходимо было ввести имя требуемого файла, и archie выводил список адресов, где можно найти такой или подобный файл.

Некоторые FTP-архивы также имеют свои WWW-зеркала, позволяющие общаться с сервером с помощью броузера. Примером может служить файловый архив компании "Релком" (Kiarchive).

В общем, несмотря на бурное развитие WWW и замещение старых сервисов гипертекстовыми страничками, протокол FTP все еще остается "на плаву", хоть уже и не является монополистом в области передачи файлов по Сети. Нередко гораздо удобнее использовать FTP вместо WWW, особенно когда срочно необходимо найти и скачать файл или нет желания продираться сквозь джунгли рекламы и пространных объяснений на Web-сайтах. FTP представляет собой портал в огромный мир файловой информации, размещенной на тысячах серверов во всех уголках мира, - надо только уметь пользоваться им, чему, мы надеемся, хоть немного вас научили в данной статье.


источник: www.submarine.ru

<Назад>
<Sub Main> <Download Centre> <Guest Book & Forum> <Contact Info> <Add Links>

Изучи все сам !
У нас  вы всегда найдете: методические указания по самостоятельному освоению популярных компьютерных программ, обучающие программы, документацию для новичков. http://shevcenco.da.ru