File Transfer Protocol (FTP) – это протокол загрузки файлов и их скачивания с удаленного сервера по TCP-порту. Протоколу передачи файлов более 40 лет и он был разработан прежде чем появился TCP/IP, а уж тем более HTTP, однако он до сих пор актуален и используется для подключения к удаленным серверам и обмена файлами.
Данный протокол применяет различные сетевые соединения для передачи команд и файлов между клиентом и сервером. FTP сервер, представляет собой компьютер с установленным на него специальным программным обеспечением и ожидающим внешнего подключения от других компьютеров по 21 (стандартный) или иному порту.
Обычно на хостинге передача файлов происходит именно по FTP, потому что он поддерживает множественную загрузку, удобные права доступа и хорошу защиту от несанкционированных действий. Сам протокол реализует два подключения между клиентом и FTP-сервером.
Первое подключение управляющее (control connection) и предназначено для процедуры аутентификации клиента на FTP-сервере, перемещения по дереву каталогов FTP-сервера и т. п. Второе подключение, предназначено для передачи данных (data connection) и используется для получения списка данных, передачи или приема файлов сервера.
Кроме того, существует ещё и два режима работы протокола FTP — активный и пассивный. Управляющее соединение одинаково как для активного, так и для пассивного режимов. Главное отличие между ними, это сторона, которая открывает соединение для передачи данных. В активном режиме, клиент принимает соединение от FTP-сервера, в пассивном— клиент всегда инициирует соединение.