FTP (от File Transfer Protocol) — протокол передачи файлов. Это старая проверенная технология, которая появилась ещё в 1971 году и более чем за 40 лет претерпела множество изменений. В этой статье мы расскажем о принципах работы FTP-серверов и поделимся советами, как пользоваться такими серверами.
Для чего используются FTP-серверы
FTP позволяет скачивать любые файлы: видео, аудио, документы, софт, драйверы, изображения и другие.
- Производители компьютерных комплектующих часто выкладывают в общий доступ на FTP-серверы драйверы для своих устройств, чтобы пользователи могли беспрепятственно их скачать.
- Во многих компаниях FTP применяется для организации локального хранилища текстовых документов и других файлов: видеороликов с лекциями, сканов, макетов, презентаций.
- FTP-сервер может стать хранилищем коллективного творчества: на него можно загружать файлы и так делиться ими.
Преимущества FTP по сравнению с HTTP
FTP, как и HTTP, находится на прикладном уровне в стеке TCP/IP. Однако для работы FTP не нужен веб-интерфейс и веб-сервер, не придётся настраивать множество параметров и запускать программу вроде WordPress. Для доступа через HTTP необходимо специальное ПО, которое визуализирует файловую систему и проставит ссылки для каждого файла. Использование FTP можно сравнить с доступом к удалённой папке: все файлы сразу видны и доступны для скачивания.
Как работает FTP-сервер
Чтобы FTP работал, нужны два участника — клиент и сервер. Опишем функции сервера:
- запрашивает логин и пароль для авторизации и дальнейшего доступа к хранящимся на нём файлам;
- разграничивает пользователей по уровню доступа к различным папкам и документам (права назначает владелец сервера);
- отслеживает качество передачи, при появлении ошибки останавливает процесс и выдаёт отчёт;
- восстанавливает скачивание с места остановки при исправлении ошибки;
- контролирует параметры соединения и при необходимости управляет ими в пассивном режиме.
Принцип работы очень простой: фактически это прямое подключение к файловой системе удалённого сервера с помощью протокола (FTP). Пользователь может просматривать, скачивать, перемещать файлы и производить любые другие действия, которые ему разрешили.
Клиенту для подключения нужны следующие данные:
- логин;
- пароль;
- имя сервера;
- номер порта, по которому будет идти передача (FTP-соединение по умолчанию использует 21).
В FTP используется URL, чтобы указывать адреса файлов. Например: ftp://ftp-server.ru/software/lenovo/drivers/latex/example0.tex
Первая часть — ftp:// — указывает на протокол.
Вторая — ftp-server.ru — имя сервера, которое может выглядеть как DNS-имя или, например, IP.
Оставшаяся часть — software/lenovo/drivers/latex/example0.tex — указывает путь к файлу внутри файловой системы и его имя.
FTP-сервер может быть частным и публичным, в зависимости от того, как его настроил владелец.
- Публичный. Доступ на FTP-сервер невозможен без авторизации, поэтому для раздачи файлов любому желающему нужно активировать анонимный режим (логин — anonymous, пароль — любой email). Браузеры при входе на такой FTP-сервер сами подставляют значения, поэтому со стороны кажется, что авторизация не нужна.
- Частный. Логинам и паролям задают условия доступа к файлам и папкам. Когда клиент авторизуется, он видит только тот контент, который ему планировали предоставить. При этом анонимов на такой сервер не пускают.
Программы для доступа к FTP-серверу
Интерфейс FileZilla
Обратите внимание, в FTP имеются уязвимости, поэтому рекомендуется использовать безопасные протоколы FTPS или SFTP. Например, в FileZilla их можно включить в настройках: «Файл» — «Менеджер сайтов» — «Общие» — переключить с FTP на SFTP.
В Linux-подобных системах дополнительный софт обычно не применяют, вместо этого используют командную строку.
FTP в панели ispmanager
Ispmanager — панель управления веб-серверами и сайтами, которая упрощает работу веб-разработчиков и администраторов. В ispmanager есть и собственный файловый менеджер — альтернатива FTP. Он позволяет делать следующее:
- работать с файлами и папками;
- создавать, переименовывать, перемещать, удалять файлы;
- просматривать и изменять файлы (поддерживаются PHP, Python, JS, Bash и пр.);
- открывать архивы, архивировать, разархивировать с помощью архиваторов Zip и UnZip;
- копировать, переносить, скачивать, загружать файлы.
Если хотите попробовать, даём бесплатный триальный доступ на две недели: получить ispmanager.