Укрощение @Интернет@

Необходимо скачать большой файл


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

Очень часто проблема решается поиском того же самого файла на каком-нибудь другом сервере, докачку поддерживающим. В этом помогают поисковые машины или ссылки на зеркала на самом сервере. Но этот примем, к сожалению, срабатывает не всегда – существуют и такие файлы, которые находится в единственном экземпляре на единственном в сети сервере.

Пользователи давно ведут непрекращающуюся "священную войну" по поводу "чья файлокачалка лучше". Некоторым утилитам даже приписывается мифическое (мистическое?) умение докачивать с любого сервера. В действительности же – все это легенды и не более того. В "докачке" ничего загадочного нет. Некоторые серверы поддерживают специальную команду, позволяющую начать передачу файла не с самого начала, а с произвольной позиции. Если же такой команды в "лексиконе" сервера нет, – докачка невозможна в принципе, и при обрыве соединения придется начинать качать все заново. Ну, разве, что файл скэшируется где-нибудь "по дороге".

Иногда выручает перекачка через кэширующий Proxy-сервер. При первом же запросе он получает файл целиком и сохраняет его на своем диске, избавляя клиента от "радости" общения с недокачивающим сервером. Однако сервер может легко запретить кэширование (что часто и происходит) – тогда такой прием не сработает. В частности, ни одна из известных автору качалок не умеет докачивать файлы, выдаваемые cgi-скриптами. А такая потребность возникает и очень часто! Как же быть?!

Проще всего воспользоваться услугами специальных серверов, позволяющих получать файлы с ftp- и web-серверов по электронной почте. Во-первых, соединение с почтовым ящиком провайдера обычно много быстрее, чем с далеким за бугорным сервером, а, во-вторых, в этом случае большой файл автоматически разрезается на несколько частей, что упрощает его получение.


Другой, более универсальный, способ состоит в использовании промежуточного сервера с максимально быстрым каналом. Чем быстрее канал, тем больше шансов на то, что файл будет целиком передан за один раз без разрывов. Затем же, с промежуточного сервера искомый файл может быть без проблем скачен на компьютер пользователя (естественно, промежуточный сервер должен поддерживать докачку, иначе не стоит и затевать весь этот сыр-бор). Альтернативный вариант – если такой сервер территориально близок, можно подъехать к его владельцу и переписать скаченный файл на дискету (CD-ROM, Zip и т.д.), сэкономив изрядное количество времени и денег.

Для скачивания файла через промежуточный сервер можно воспользоваться либо telnet-доступом, запустив на удаленной машине ftp-клиента (см. вопрос "Разное à Что такое telnet и как с ним работать"), либо разместить на web-сервере специальный cgi-скрипт, делающий всю работу за вас (см. "Personal Web Server à  Какие сервера бесплатно предоставляют право исполнения cgi?", "Personal Web Server à

Как разместить скрипт на сервере?")

 

Родственные вопросы:

Разное à

Что такое telnet и как с ним работать

Personal Web Server à

Какие сервера бесплатно предоставляют право исполнения cgi?

Personal Web Server à

Как разместить скрипт на сервере?

Попытка скачать с WEB-сервера файл моим любимым "качальщиком" заканчивается провалом – сервер "ругается" и не "отдает" файл. В то же время, через браузер все работает нормально, но, естественно, без докачки. Почему так? (следующий)


Содержание раздела