FTP — это протокол передачи файлов по сети, работающий по принципу «клиент-сервер». После подключения к удаленному серверу клиент может загружать, скачивать, перемещать, переименовывать и удалять файлы на сервере.
Принцип работы
Для работы протокола используются два соединения — управляющее (по которому передаются команды) и соединение для передачи данных (по которому передаются файлы).
Существуют два режима соединения с FTP-сервером: активный и пассивный. Их главное отличие в том, кто инициирует соединение для передачи данных — клиент или сервер.
В активном режиме клиент создает управляющее соединение с сервером и передает ему свой IP-адрес и номер порта для передачи данных. Сервер открывает соединение на указанном порте и начинает передачу.
В пассивном режиме клиент инициирует как управляющее соед инение с сервером, так и подключение для передачи данных. Сервер сообщает клиенту свой IP-адрес и номер порта, после чего клиент открывает соединение на указанном порте и начинает передачу.
Безопасность соединения
Протокол FTP не является безопасным, так как все передаваемые данные (логины, пароли и файлы) не шифруются. Для безопасной передачи информации вы можете использовать защищенные протоколы:
- FTPS: использует криптографические протоколы SSL/TLS для шифрования данных. Требует наличия SSL/TLS-сертификата на сервере, а также поддержки SSL/TLS клиентом.
- SFTP: использует сетевой протокол SSH для обеспечения безопасности передачи данных (подробнее см. Работа с SSH и SFTP).
Типы для работы с FTP
Для обмена файлами по FTP предназначены следующие типы:
СоединениеFtp — позволяет подключаться к серверу по FTP/FTPS, устанавливать активное/пассивное соединение, управлять файлами на сервере.
ФайлFtp — предоставляет информацию о файле или каталоге, размещенном на сервере.
ИсключениеFtp — исключение, которое выбрасывается при возникновении ошибки во время работы с FTP.
Примеры
Загрузка файла на сервер по FTP