Немного об FTP

FTP — File Transfer Protocol — это протокол передачи данных. Он предназначен для передачи файлов с удаленного компьютера на локальный.
Многим начинающим пользователям, которые хотят открыть свой сайт или уже сделали это известна вечная проблема с web интерфейсом на бесплатных хостингах. Через него, родимого, очень медленно закачиваются файлы, скорость загрузки страниц оставляет желать лучшего, а наряду с нашим тормозным dial up всё превращается в настоящую нервотрёпку. Другое дело протокол обмена данными ftp. Он не имеет бесполезных картинок и баннеров, туповатых силиконовых меню и тормозящих всё JAVA скриптов. Поэтому если вы здравомыслящий человек, то после прочтения этого материала забудете о ваших извечных мучениях с web сайтом и его обновлением.
Главное назначение FTP пересылать, копировать, передавать. ФТП можно использовать самостоятельно, а также через другие системы. Например, WWW имеет FTP как часть своего протокола. Каждый сервер в сети internet имеет свой FTP, если он не заблокирован администратором. Всякий уважающий себя бесплатный хостинг, так же даёт пользователям доступ к FTP вместе с более понятным и простым WEB интерфейсом. О правилах доступа обычно можно узнать после регистрации. Например, всем известный www.narod.ru имеет адрес ftp.narod.ru .
Предположим, что вам известен адрес ftp сервера, логин и пароль. Допустим, что это даже ваш сайт. Хорошо бы соединиться с ним и закачать на него десяток другой файлов вашей домашней странички. Что же для этого нужно? Для этого нужна программа-клиент (это сервисная программа, с помощью которой можно произвести соединение с сервером). В WINDOWS 98-XP есть встроенная программа этого класса, а так же возможность подключения к FTP через стандартный explorer. Если у вас нет возможности скачать или взять у кого-то графический пакет, то можно всё сделать стандартными средствами. Для этого в командной строке WINDOWS пишем: ftp 127.0.0.1 (где ftp команда, а 127.0.0.1 имя сервера к которому хотите подключиться). Далее, если не возникло никаких сбоев при подключении, то у вас появится приглашение к работе вида: ftp>. Это очень напоминает стандартный command.com, даже принципы те же. Для перемещения по удалённому компьютеру вам следует пользоваться командами.

Основные команды FTP:
open имя_сервера — открывает соединение с сервером. Это имя можно указать сразу при вводе команды, загружающей клиента: ftp ftp.narod.ru.
cd имя_директории — осуществляет переход в другой рабочий каталог на FTP сервере.
dir [имя_файла] — выдает список файлов в текущей директории. Не забывайте, что можно использовать шаблоны групповых операций. Это “*” и “?”.
get имя_файла [имя_локального_файла] — переписывает файл с удаленного компьютера на локальный. Если указано имя локального файла, то записывает его под этим именем, иначе — в каталог по умолчанию.
mget [имя_файла] — то же самое, что и get, но разрешается использовать шаблоны. Перед копированием каждого файла будет запрашиваться подтверждение. Для отмены подтверждений введите prompt.
Prompt — отменяет подтверждение в командах mget и mput.
put имя_файла [имя_удаленного_файла] — переписывает файл с локального компьютера на удаленный под именем (имя_удаленного_файла). Если оно не указано, то файл записывается в текущий каталог с именем локального. Команда запрещена для анонимных пользователей
mput [имя_файла] — записать группу файлов, то же самое, что и put, но разрешается использовать шаблоны. Перед записью каждого файла будет запрашиваться подтверждение. Для отмены подтверждений введите prompt.
Ascii — устанавливает ascii-способ передачи файлов. Используется для пересылки файлов-текстов на английском языке. Однако для надежности лучше использовать binary.
Binary — устанавливает двоичный способ пересылки файлов. При этом файл при передаче не перекодируется и записывается в неизмененном виде. Это наиболее надежный способ передачи файлов.
Close — закрывает соединение с данным сервером и производит возврат в командный режим. Эта команда автоматически выполняется при выходе из FTP-клиента.
Quit — выход из FTP-клиента.
User — регистрирует на текущем сервере с новым именем. Используйте эту команду, если Вы первый раз по ошибке неправильно ввели имя анонимного пользователя и не хотите снова пере набирать команду open.
lcd [имя_директории] — осуществляет переход на локальном компьютере в указанный каталог.
pwd — выводит на экран текущий каталог на удаленном компьютере.
System — выводит на экран тип операционной системы на удаленном компьютере.
help [FTP-команда] – помощь, выдает краткую информацию о командах FTP-клиента или о конкретной указанной команде.

Могут быть два случая соединения с FTP. Во-первых, если вы просто хотите посетить определённый сервер, чтобы что-то скачать. Для этого вы вводите guest (гость) или anonymous (аноним), это при условии поддержки анонимного доступа, а так же если при отсутствии регистрации на сервере. Во-вторых, если вы имеете доступ на сервер, тогда вводится свой логин и пароль. Но независимо от ситуации в итоге вы оказываетесь в некой директории на удалённом сервере. Чтобы у вас не возникло проблем, поясню, что на сайтах подобных www.narod.ru у вас не будет в текущем каталоге никаких папок, вы должны будете их создавать сами. Наличие директории cgi-bin, php и так далее обусловлено, прежде всего, сервисами, поддерживаемыми на данном, конкретном хостинге.
Но самое главное в итоге состоит в том, что вы без проблем можете копировать файлы! Советую начать исследование сервера с каталога /pub, так как обычно все полезные файлы помещаются именно в него. Для того, чтобы перейти в нужный каталог существует команда cd, которая описана выше.

В каталог pub с текущего каталога можно перейти:
ftp> cd pub
Получить список файлов в текущем каталоге можно командой dir:
ftp> dir
А чтобы увидеть все файлы с определённым расширением, вы можете использовать “*”, “?”.
ftp> dir *.zip
Предположим, что вы нашли файл, который хотите переписать себе. Прежде, чем сделать это, надо установить двоичный режим передачи файлов binary:
ftp> binary
Возьмите себе за правило: как только соединитесь с сервером, сразу вводить эту команду. Если этого не сделать, то файл будет перекодирован и непригоден для использования (если только это не текст на английском языке). При появлении во время копирования файла сообщения
‘Opening ASCII mode to transfer file’ немедленно прервите передачу файла и запустите binary. Многие современные FTP-клиенты автоматически посылают эту команду.
Пересылает файл на локальный компьютер команда get:
ftp> get file.zip
Если Вы сразу захотите положить файл в определенное место на локальном компьютере, то укажите путь как второй аргумент команды:
ftp> get file.zip D:\file.zip

По умолчанию FTP-клиент кладет файл в текущую директорию на локальном диске. Для FTP-клиента под Windows этой директорией будет каталог Windows. Можно переписать содержимое сразу всего каталога, для этого надо указать его имя в команде get. Зачастую требуемая информация расположена не в одном, а в нескольких файлах.
Я специально начал рассказ о подключении к FTP при помощи текстового клиента. Так как основа, основ это команды, на которых базируется каждая система. Сейчас в современных условиях можно без труда использовать простые графические программы. Почти никто уже не утруждает себя текстовым вводом, его всегда приводят лишь как пример для ознакомления с азами. Для пользователей ОС WINDOWS написано множество разных фтп клиентов. Например, очень радует взор, встроенный в TOTAL COMMANDER клиент. Да, да! В тот самый файловый менеджер, который вы используете каждый раз. Для того, чтобы создать подключение к удалённому серверу, вам следует нажать клавиши ”ctrl+f”, после чего у вас появится диалоговое окно.

Рис-1.

Для того чтобы выбрать интересующий нас ftp сервер, нужно нажать кнопку добавить. В строке заголовка, вам нужно будет ввести название соединения с сервером. Допустим, это будет MYHOMEPAGE. В строке имя сервера вводим адрес, допустим, ftp.narod.ru. В строке учётная запись вводим логин, а в строке пароль, ваш пароль доступа. Остальные функции вас не должны волновать. Если всё выполнено верно, то у вас окно клиента будет заполнено примерно так, как на рисунке

Рис-2.

После указания и внесения всех данных вам следует лишь нажать “соединение” и подключится к вашему фтп серверу. На одной из панелей TOTAL COMMANDER высветится директория на удалённом компьютере. Теперь вы можете закачивать любые файлы.
Но не забывайте, что в если ваш хостинг работает под *nix, то большие и маленькие символы будут являться разными и это вызывает часто неразбериху у начинающих пользователей. Например, файл index.HTML будет считаться другим файлом нежели index.html. Поэтому в своих ссылках всегда правильно указывайте название документа.
Как показывает практика, на сегодняшний день основной услугой Internet является WWW. Весь мир с замиранием сердца следит за сражениями броузеров, Java, технологий встраивания multimedia в HTML-страницы. Однако любому человеку понятно — главное, это уметь использовать уже существующие инструменты. Каждый, кто работает с WWW знает, что такое
URL, Uniform Resource Locator. На сегодня это основной способ указания ресурсов Internet. Например, для HTML файла можно сформировать следующие URL:
http://www.fdd5-25.net.
Для почтовога адреса: mailto:[email protected]
FTP также является ресурсом Internet. URL для ftp выглядит так: ftp://&ltuser>:&ltpassword>@&lthost>:&ltport>/&lturl-path>, где user — имя пользователя, password — его пароль, host — доменное имя или IP адрес сервера, url-path — путь к файлу. На практике наиболее часто используемым вариантом ftp является анонимный. Как уже было сказано выше, анонимный ftp ничем не отличается от «остального».
Просто в качестве имени пользователя достаточно указать anonymous, а в качестве своего пароля — свой почтовый адрес. Для анонимного ftp в url сделан упрощенный синтаксис: ftp://&lthost>/&lturl-path>, то есть при отсутствии имени автоматически будет вставлено anonymous.
Порт также обычно не указывается, а используется стандартный 21. В качестве host можно указывать и IP адрес. Основное применение url нашли в WWW броузерах. На сегодня это, наверное, самые популярные программы в Internet. Netscape Navigator, Internet Explorer, Mosaic, Lynx, Opera. Поэтому если вы используете их, имеет смысл использовать их и как ftp клиент. Правила формирования адреса были описаны выше, все остальное предельно просто. Если в качестве пути указан только путь к некоторому каталогу, а не сам файл, то браузер покажет вам список файлов в этом каталоге.
Если же путь указан вплоть до имени файла, то вскоре файл с некоторой вероятностью окажется у вас на диске. Почему с некоторой вероятностью? Потому, что к сожалению, http использует для ftp собственную подсистему пересылки файлов. Что не привело к повышению надежности. Искушенный пользователь WWW заметит, что иногда адреса файлов в url в качестве scheme содержат http вместо ftp. Это разные, и в то же время одинаковые вещи. Дело в том, что указывая http, вы говорите WWW серверу искать файл в области каталогов, которые отведены HTML файлам. Если ftp, то указываемые каталоги будут совпадать с теми, которые доступны посредством классического ftp.
Сравнение HTTP и FTP путей URL Реально на сервере ftp://ftp.karelia.ru/pub/unix/home/ftp/pub/unix
http://ftp.karelia.ru/pub/unix/files/www/pub/unix
Хотя реально принципы передачи в обеих случаях одинаковы. На самом деле здесь кроется одна очень большая проблема. Некоторые организации, имеющие быстрый доступ к Internet забывают, что не у всех он столь же быстр. Таким пользователям удобно использовать классический ftp вместо WWW броузера. Дело в том, что реализация ftp в http оставляет желать много лучшего.
Основной предмет критики — отсутствие такой полезной функции как reget. Это особенно актуально для низкоскоростных отечественных коммуникаций, где скорость порой падает до нескольких десятков байт в секунду. При такой скорости разрыв соединения — очень частое явление. И переслать файл в несколько мегабайт уже является большой проблемой. При потере соединения вы воспользуетесь reget в ftp клиенте, однако в среде WWW Вам, увы, придется начать все сначала. Более того, если вы работаете с WWW через proxy, основанном на программном обеспечении от CERN, то есть вероятность, что при обрыве соединения он решит, что весь файл уже переслан и на все попытки получить его с удаленного WWW сервера proxy будет выдавать урезанный файл со своего диска. В таком случае два совета: либо смените proxy сервер, либо вообще отключите его использование. Однако имейте в виду, что на сегодня очень популярны так называемые firewall, когда реальный выход в Internet имеют только proxy и последний совет в таком случае бесполезен. Есть еще третий совет – подождите несколько дней, пока proxy не позабудет про Ваш файл и снова обратится в Internet для его пересылки. Однако это, безусловно, не рабочее решение.
Иногда http и ftp каталоги синхронизированы. Хорошим представителем является ftp.cdrom.com. Там каталоги не только синхронизированы, но и очень красиво оформлены при обращении к ним из WWW-броузера. Делается это просто, но не каждый соберется так красиво все оформить.
Кроме всего сказанного, оставшихся оптимистов ожидает еще одна пилюля. Согласно протоколу http, через который осуществляются коммуникации WWW, после каждого сеанса связи соединение между компьютерами разрывается. Это означает, что если вы решите с удовольствие погулять в броузере по каталогам, то возможно это не всегда будет так здорово, как кажется. На установление соединения, регистрацию пользователя уходит несоизмеримо больше времени, чем интерактивная работа в ftp клиенте. Вот так и приходится платить за современный модный интерфейс.

Выводы
Преимущества:
Высокая интеграция в гипертекстовое пространство Internet.
Современное программное обеспечение.
Недостатки:
Отсутствие reget.
Невысокая надежность соединения на плохих линиях.
Встречающиеся проблемы при обрыве соединения со включенным proxy
Невысокая скорость работы из-за закрытия соединения после пересылки.
Недоступность файлов через ftp, адресуемых через протокол http (хотя это и не недостаток самого http, это его особенность.) Как нетрудно заметить, все недостатки компенсируются надежными и быстрыми линиями связи. Уже достаточно канала в 256k у провайдера, и основные проблемы исчезают.

Проблемы
Столкнувшись с работой по протоколу ftp на выделенных линиях я так же заметил одну очень интересную особенность белорусских провайдеров. Почти у всех компаний скорость работы с ftp оставляет, мягко говоря, желать лучшего. Таких тормозов не бывает даже при соединении по DIAL UP. А ведь крупные сайты, обновлять приходится именно через выделенный канал. И в итоге не в одном из компьютерных клубов снабжённых каналами 128, 256, 512k не было достойной скорости соединения. Господа провайдеры, имейте совесть! Понятно, что вы платите за трафик, а люди за время. Но как быть тем, кому нужно записывать большие объёмы информации на сайт? Не каждый же раз ходить изводить своего хостера?!
При создании публикации были использованы материалы замечательного автора А. Стояновского.

 

(r) www.fdd5-25.net Форма обратной связи.