FTP

Редактор: Марина Долгова 16688 20 мин Аудио

Протокол FTP (английская аббревиатура для File Transfer Protocol - протокол передачи файлов) появился еще на заре развития глобальной сети Интернет. Несмотря на почтенный возраст, эта технология до сих пор с успехом используется для передачи файлов в Интернете, в том числе - в индустрии web-хостинга.

FTP используется на:

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

Надежное и удобное в использовании подключение по FTP является отраслевым стандартом. 

Как работает FTP

В FTP-соединении участвуют два компьютера: клиент и сервер. 

FTP-сервер использует для входящих соединений 21-ый порт протокола TCP.
 
Главное предназначение протокола - это передача файлов между локальным компьютером и удаленным сервером. Пользователь получает удаленный доступ к файловой системе сервера или к ее определенной части.

Работа протокола FTP описывается спецификацией RFC 959 и дополнениями к ней.

Протокол FTP использует два соединения между клиентом и сервером: первое из них - контрольное, через которое передаются команды. Команды через контрольное соединение передаются в виде текста и интуитивно понятны носителю английского языка, например, AUTH, DELE, RETR, STOR и так далее. 

Команды позволяют клиенту получить список файлов на сервере, загрузить или закачать файл, удалить файл, создать подкаталог или удалить его и т.д., предоставляя практически полный доступ к файловой системе сервера.

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

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

FTP-сессия начинается с процедуры аутентификации пользователя, при этом используется обычная комбинация: имя пользователя и пароль. 

После успешной проверки пароля пользователь получает доступ к файлам на удаленном сервере. Имеется возможность настройки беспарольной аутентификации и свободного доступа к файлам для любого присоединившегося по FTP, при этом клиент использует в качестве имени пользователя специальный логин “anonymous” (аноним), не требующий пароля.

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

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

Схема работы протокола FTP

Обратите внимание, что часто из-за схожести названий возникает путаница между протоколом FTPS, являющимся протоколом FTP с надстройкой SSL, и SFTP, являющимся расширением SSH.

С практической точки зрения разница заключается в том, что для аутентификации по FTPS будут использоваться данные FTP-сервера, которые могут не совпадать с системными (например, храниться в БД), а для SFTP - данные системных пользователей.

Отметим, что в крупных корпоративных сетях могут использоваться и решения централизованного хранения учетных данных (например, RADIUS или Microsoft Active Directory). В этом случае данные для аутентификации и по SFTP не будут совпадать с системными, но на хостингах такие решения обычно не используются.

Серверное программное обеспечение

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

  • vsftpd;
  • proftpd;
  • pure-ftpd.

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

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

Логин и пароль FTP-пользователей в панели ISPmanager

Настройка аккаунтов FTP-пользователей и просмотр параметров FTP-соединения в панели ISPmanager

Настройка аккаунтов FTP-пользователей и просмотр параметров FTP-соединения в панели ISPmanager

Для платформы Windows рекомендуется к использованию FTP-сервер, встроенный в операционную систему Windows Server. Также существуют бесплатные FTP-серверы для этой платформы, например, Filezilla FTP Server.

Настройка FTP-пользователей в Filezilla FTP Server

Настройка FTP-пользователей в Filezilla FTP Server

Клиентское программное обеспечение 

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

Для платформы Windows популярность набрали FTP-клиенты с удобным графическим интерфейсом, например, Filezilla

Также поддержка загрузки файлов по протоколу FTP на локальный компьютер встроена во все популярные браузеры. Для популярных файловых менеджеров, таких, как Total Commander или Far Manager, существуют плагины с функциями FTP-клиента.

Работа с FTP в текстовом клиенте

Следующий снимок экрана показывает пример работы в интерактивном текстовом клиенте FTP:

Из терминала пользователь соединился с FTP-сервером по адресу ftp.mysite.ru командой

ftp ftp.mysite.ru

Затем в ходе FTP-сессии указал логин (webadmin) и пароль, в результате чего успешно авторизовался на сервере.

После этого пользователь перешел в нужный каталог на FTP-сервере командой

cd /www/mysite.ru

и загрузил туда файл с сайтом mysite.zip командой

put mysite.ru

Затем командой

ls

был получен список файлов на FTP-сервере, среди которых виден загруженный файл mysite.zip.

Ввод текстовых команд по протоколу FTP

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

Работа в браузере

Для работы с удаленным FTP-сервером достаточно использовать браузер. Необходимо в адресной строке браузера указать адрес FTP-сервера с префиксом ftp://, после чего браузер предложит ввести имя пользователя и пароль.

Ввод логина и пароля в браузере

После ввода логина и пароля браузер покажет содержимое папок удаленного FTP-сервера:

Содержимое папок удаленного FTP-сервера

Использования браузера достаточно для скачивания файлов по протоколу FTP с удаленного сервера, но в нем отсутствует функция загрузки файлов на сервер.

Работа в клиенте Filezilla

Filezilla - это современный графический FTP-клиент для платформы Windows, ставший самым популярным из подобного программного обеспечения.

Для подключения к FTP-серверу в Filezilla достаточно ввести в соответствующие поля адрес сервера (хост), имя пользователя, пароль и нажать на кнопку “Быстрое соединение”.

Подключение к FTP-серверу в Filezilla

После этого в правой панели появляется список файлов и каталогов на удаленном сервере. У пользователя есть возможность перейти в нужный каталог и простым движением мыши запустить загрузку нужного файла.

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

FTP-команды Filezilla передает в автоматическом режиме

Подробнее о работе с Filezilla читайте здесь.

Работа в Total Commander

Total Commander - популярный файл-менеджер для платформы Windows. Он имеет встроенные средства для работы с FTP.  Для подключения достаточно в меню “Сеть” выбрать пункт “Новое FTP-соединение”, далее в диалоге ввести адрес FTP-сервера, имя пользователя и пароль:

Новое FTP-соединение в Total Commander

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

Работа с удаленными файлами и каталогами в Total Commander

Как и при использовании Filezilla, ввод команд FTP-протокола происходит прозрачно для пользователя.

Подробнее о работе с Total Commander читайте здесь.

Выводы

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

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

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

Марина Долгова

Хостинги с поддержкой MySQL

Rank Хостинг Клиенты Оценка Отзывы
1
147000
5.0 392
2
577930
5.0 488
3
200000
4.9 159
Только эксперты отвечают на ваши вопросы
Не нашли ответ на свой вопрос?
Задайте его экспертам! Ответ приходит очень быстро и прямо на ваш email.

Добавляя подтверждение "Я не робот" вы так же даете согласие получать сообщения от ru.hostings.info и принимаете его Политику конфиденциальности, позволяя ru.hostings.info хранить и обрабатывать вашу личную информацию, указанную выше, для предоставления вам запрашиваемого контента.

Рейтинги хостинг-провайдеров по задачам сайта
Апреля
Панель управления

От панели управления зависит ваше удобство в настройке хостинге\сайта.

Большинство качественных хостингов из нашего ТОПа используют удобные панели управления, поэтому рекомендуем больше внимания уделить другим параметрам при выборе.

Вид хостинга

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

Виртуальный хостинг - подходит для большинства проектов начального уровня с посещаемостью до 1000 человек в сутки. В таком хостинге мощность сервера делится между несколькими хостинговыми аккаунтами. Услуга проста в настройке даже для новичков.

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

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

Размещение и обслуживание вашего собственного сервера в дата-центре хостинга - это не очень популярная услуга и требуется в исключительных случаях.

CMS

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

Тип виртуализации

Виртуализация - это создание виртуальной среды на физическом сервере, позволяющая запускать требуемые ПО без затрагивания процессов, совершаемых другими пользователями сервера.  С её помощью ресурсы физического сервера распределяются между виртуальными (VPS/VDS). Основные виды: аппаратная (KVM), паравиртуализация, виртулизация на уровне ОС (OpenVZ).

Прочее

Абузоустойчивый хостинг - компании, которые разрешают размещать практически любой контент, даже запрещенный (спам, варез, дорвеи, порнографические материалы). Такие компании не удаляют контент вашего веб-сайта при первой же жалобе (“абузе”).

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

Безопасный хостинг - тот, где администрация постоянно обновляет ПО установленное на серверах, устанавливает базовую защиту от DDoS-атак, антивирус и файерволлы, блокирует взломанные сайты и помогает их "лечить".

Защита от DDOS - компании, которые предоставляют хостинг с защитой от DDoS-атак. Такие пакеты ощутимо дороже обычных, но они стоят своих денег, так как ваш сайт будет защищен от всех видов сетевых атак.

Бесплатный тест

Тестовый период - предоставляется хостером бесплатно на 7-30 дней, чтобы вы могли удостовериться в его качестве.

Moneyback - период на протяжении которого хостер обязуется вернуть деньги, если вам не понравится хостинг.

Региональные
Цена

Настоятельно рекомендуем не покупать слишком дешевый хостинг! Как правило с ним очень много проблем: сервер иногда не работает, оборудование старое, поддержка долго отвечает или не может решить проблему, сайт хостера глючит, ошибки в регистрации, оплате и т.д.

Также мы собрали тарифы от тысяч хостеров, чтобы вы могли выбрать хостинг по конкретной цене.

Технологии и ОС

На языке программирования PHP и базах данных MySQL сейчас работает большинство сайтов. Они же поддерживаются практически всеми современными хостингами.

ASP.NET - платформа для разработки веб-приложений от Майкрософт.

ОС - операционная система, установленная на сервере хостинга. Мы рекомендуем размещать на серверах с Linux, если нет особых требований у разработчиков сайта.

Тип диска