Что значит FTP
В статье «Как устроен интернет» мы рассказывали о том, как происходит обмен данными между устройствами, подключёнными к сети. Для этого существуют протоколы, наиболее важные из которых — TCP (протокол управления передачей данных) и HTTP (протокол передачи гипертекста).
FTP — это тоже протокол. Его название расшифровывается как File Transfer Protocol, по-русски — протокол передачи файлов. Как можно догадаться по названию, он предназначен для передачи файлов между устройствами через интернет.
По HTTP передавать файлы тоже можно, просто у FTP больше возможностей, которые делают обмен файлами удобнее. Например, этот протокол поддерживает одновременную загрузку большого количества файлов: можно подключиться к FTP-серверу и скачать целую папку с модами для игры вместо того, чтобы скачивать их по одному с сайта разработчика.
Зачем нужен FTP
Чаще всего FTP используют, чтобы:
-
делиться файлами с другими пользователями интернета;
-
поддерживать и администрировать веб-сайты;
-
делать бэкапы.
Разберём каждый кейс на примере.
Делиться файлами
Марина любит играть в Minecraft и написала несколько модов для этой игры. Ей хочется поделиться своей работой с другими игроками. Можно сделать для этой цели сайт и разместить ссылки на скачивание модов на нём, но это требует усилий: нужно выбрать CMS, поработать над внешним видом сайта, придумать навигацию… Пока у Марины не хватает на это вдохновения, так что она выбрала другой способ: потратила немного времени на настройку FTP-сервера и загрузила все файлы с модами туда. Теперь, если Марина напишет новый мод, она сможет загрузить его на сервер в два клика, а другие игроки — также в два клика скачать.
Кроме того, Марина может гибко управлять настройками доступа к модам. Например, дать логин-пароль от сервера только своим друзьям, чтобы посторонний человек не смог скачать файлы. Конечно, на сайте сделать авторизацию тоже можно, но гораздо сложнее.
«Постойте, — можете сказать вы, — а как же облачные хранилища? Почему бы просто не закинуть папку с модами на Google или Яндекс Диск?». И это тоже хорошее решение, но у него есть один недостаток: по протоколу HTTP нельзя скачать на компьютер папку целиком. Поэтому облачный сервис сначала создаст архив и поместит папку в него, и только потом разрешит вам этот архив скачать, так как по HTTP можно одновременно передать только один файл. А вот у FTP такого ограничения нет: можно скачивать моды по одному, а можно — всю папку сразу.
Поддерживать веб-сайты
Антон помогает администрировать сайт своей школы. Этим утром ему позвонил директор и попросил:
-
удалить из фотогалереи все фотографии учителей с новогоднего корпоратива, потому что некоторые родители сочли их возмутительными;
-
вместо этого выложить фотографии с субботника, где одиннадцатиклассники вместе с трудовиком расчищают сугробы.
Удалять и загружать фотографии по одной было бы долго и мучительно. Поэтому Антон подключается к сайту школы по FTP и одним движением удаляет всю папку с корпоративом, а потом также легко загружает папку с субботником.
Делать бэкапы
Мы уже рассказывали о том, что такое бэкап и зачем он нужен. Если коротко, то это резервная копия важных данных, которая хранится отдельно от этих данных и позволяет восстановить их, если исходные файлы пострадают.
Антон из примера выше может использовать FTP, чтобы быстро скопировать все файлы сайта школы на свой компьютер — получится локальный бэкап. А можно и наоборот: загрузить важные файлы с компьютера на удалённый FTP-сервер.
Получи больше пользы от Skysmart:
-
Научись программировать на курсах разработки.
-
Выбирай из 130+ наставников по программированию.
Записывайся на бесплатные курсы для детей.
Как работает FTP
Для установки FTP-соединения нужны две стороны: сервер (remote host) и клиент (local host).
FTP-сервер — это удалённый компьютер, к которому мы подключаемся, чтобы загрузить или скачать файлы. На нём должно быть установлено и настроено программное обеспечение для работы по FTP, например, Filezilla Server.
FTP-клиент — это программа, установленная на наш локальный компьютер.
А ещё, как правило, для подключения к FTP-серверу нам нужно иметь логин и пароль (хотя существуют и анонимные сервера, к которым можно подключиться без доступов).
При подключении по FTP данные передаются между клиентом и сервером по двум каналам:
-
command channel передаёт команды (например, открой папку или скачай файл mod.py);
-
data channel передаёт файлы.
Благодаря такому разделению, работа с FTP становится более эффективной. Например, пока скачивается содержимое одной папки, мы можем погулять по серверу и посмотреть, что лежит в других папках, — и это не затормозит загрузку.
FTP и безопасность
Основной недостаток FTP лежит в области безопасности. Данные, которые передаются по FTP, никак не зашифрованы, поэтому их могут перехватить злоумышленники — например, если вы используете публичный Wi-Fi в кафе, метро или отеле.
Более безопасная альтернатива FTP называется SFTP (Secure FTP). Технически это совсем другой протокол, но принцип его работы похож на FTP. SFTP используют, когда важно защитить передаваемые данные.
Как подключиться к FTP-серверу
Подключиться к удалённому серверу по FTP можно тремя способами:
-
Через командную строку. Терминалы MacOS и Windows позволяют подключаться по FTP к удалённым серверам. Для этого нужно знать специальные команды, поэтому такой способ больше подходит продвинутым пользователям.
-
Через браузер. Если вы загрузите файлы на FTP-сервер и поделитесь ссылкой со своими друзьями, они смогут открыть эту ссылку и скачать файлы через свой любимый браузер, даже если они не знают, что это такое — FTP. Но для более сложных операций с файлами этот способ не подойдёт.
-
Через FTP-клиент. Это самый удобный и распространённый способ работы с FTP. У FTP-клиентов есть графический интерфейс и удобные настройки.
Давайте попробуем выполнить простую задачу с помощью FTP — сделаем бэкап сайта. Для этого будем использовать один из самых популярных FTP-клиентов Filezilla.
Интерфейс FTP-клиента
Как мы помним, в FTP-соединении участвуют двое: локальный компьютер и сервер. Слева, под заголовком Local site, программа показывает структуру файлов и папок на нашем компьютере и содержимое выбранной папки. На моём скриншоте открыта папка site backup, которую я заранее создала для бэкапа.
Справа мы тоже увидим файловую структуру, только уже на удалённом сервере (Remote site). Пока мы ни к какому серверу не подключились, поэтому там пусто.
В верхней части окна — поля для быстрого подключения к FTP-серверу. Чтобы подключиться, нам нужно знать адрес сервера (Host), логин (Username) и пароль (Password). В поле Port нужно указать порт, через который будет происходить соединение: 21 для FTP и 22 для SFTP. По нажатию на кнопку Quickconnect клиент попытается соединиться с указанным сервером.
Остальные поля нужны для отображения информации о статусе соединения и загруженных файлах.
Подключение к FTP-серверу
Для подключения к FTP-серверу нам нужно знать его адрес, а также логин и пароль от аккаунта. Эти данные можно найти (или создать) в личном кабинете вашего хостинга. Я ввела доступы от своего сайта, указала 22 порт, потому что хочу подключиться по защищённому протоколу SFTP, и нажала Quickconnect. Давайте посмотрим, что изменилось в окне программы.
В верхней части окна Filezilla сообщает о статусе подключения. Как видим, всё прошло успешно: мы подключились к удалённому серверу и получили список файлов на нём. Справа, в разделе Remote site появилась файловая структура удалённого сервера.
Загрузка файлов
Итак, мы подключились к удалённому серверу и можем скачать с него файлы. Это нам и нужно! Давайте скачаем содержимое папки с сайтом в нашу локальную папку site backup. Для этого нажмём на папку public_html правой кнопкой мыши и выберем Download.
Программа добавит все папки и файлы, которые лежат в public_html, в очередь скачивания (Queued files), и, поскольку наш сайт пока маленький и лёгкий, уже через пару минут все файлы окажутся скачаны.
Готово: теперь у нас есть локальный бэкап сайта. Посмотреть список скачанных файлов можно во вкладке Successful transfers. А если что-то пошло бы не так, то те файлы, которые не удалось скачать, попали бы во вкладку Failed transfers.
В этой статье мы простыми словами рассказали о том, что такое протокол FTP и как с помощью него получить доступ к удалённому серверу. Если вам интересно больше узнать о том, как устроен интернет, — приходите на курсы программирования для детей и подростков в онлайн-школу Skysmart Pro. На курсах мы учим программировать сайты, игры и приложения, умело и безопасно пользоваться интернетом, а ещё готовим к экзаменам по информатике. Вводный урок — бесплатно!