FTP розшифровується як File Transfer Protocol — протокол передачі даних. З його допомогою можна підключатися до інших комп’ютерів, щоб скачувати та завантажувати файли, а також керувати ними: встановлювати права доступу, створювати та редагувати текстові документи, додавати нові папки.
У статті розбираємося, як влаштована ця технологія, як нею користуватися і навіщо вона потрібна, якщо все те ж саме можна робити за допомогою HTTP.
Зміст
Навіщо потрібен FTP
FTP-протокол з’явився задовго до HTTP — коли інтернет тільки зароджувався і ще не було зручного способу передавати файли між комп’ютерами. Це одна з найстаріших технологій у світі комп’ютерних мереж.
З появою HTTP причин використовувати FTP майже не залишилося. HTTP вміє все те ж саме, плюс за цим протоколом працюють сайти. Немає сенсу використовувати два протоколи, якщо можна використовувати один.
Зараз протокол FTP використовується в основному для завантаження та віддаленого керування файлами на хостингу. І то провайдери зазвичай надають також і HTTP-варіант для цього — панель керування.
Перевага FTP над панелями керування у тому, що при роботі за цим протоколом все завжди виглядає однаково, до якого серверу ви б не підключилися. Це можна зробити у командному рядку, спеціальній безкоштовній програмі або навіть у стандартному менеджері файлів вашої ОС.
А панелі керування у багатьох провайдерів різні та не завжди однаково зручні. Наприклад, у популярній панелі cPanel під час завантаження файлів не можна завантажити папку з файлами — лише окремі файли. А папку потрібно створити заздалегідь. Дрібниця, але при роботі з FTP про це взагалі не доводиться замислюватися.
Плюс панель керування дають безкоштовно зазвичай лише на віртуальному хостингу. На VPS та виділеному сервері за неї потрібно доплачувати. У принципі є і безкоштовні варіанти, але вони часто трохи криві.
Чим FTP відрізняється від HTTP
Крім того, що для роботи з HTTP потрібен інтерфейс, а для роботи з FTP — ні, між цими двома протоколами є багато інших технічних відмінностей. Ось основні з них:
- Модель з’єднання. Під час роботи за HTTP-протоколом між клієнтом і сервером встановлюється одиночне з’єднання, а під час роботи з FTP — множинне: одне з’єднання «керуюче» (для передачі команд), інше «інформаційне» (для передачі). При цьому для кожного файлу встановлюється нове інформаційне з’єднання.
- Необхідність автентифікації. Щоб підключитися до FTP-сервера, потрібен логін та пароль. Їх створює адміністратор сервера. А якщо доступ до сервера має бути у всіх бажаючих, є анонімний режим, у якому логіном буде слово «anonymous», а паролем — адреса електронної пошти. Для підключення до сервера за HTTP логін та пароль не потрібні.
- Використання сесій. При підключенні до сервера FTP створюється сесія і всі запити до сервера надсилаються в рамках неї. При використанні HTTP сесії не створюються, клієнт просто надсилає запити серверу.
- Використання портів. При роботі з HTTP завжди використовуються тільки порти 80 і 443, а при роботі з FTP — кілька випадкових портів з діапазону 1024-65535. Докладніше про те, як саме вони призначаються, розповімо далі у статті.
- Відновлення завантаження. FTP може відновлювати завантаження. Якщо з’єднання було розірвано, ви не втратите прогрес. При роботі з HTTP завантаження доведеться починати заново.
- Безпека. Обидва протоколи передають дані у відкритому вигляді. Щоб їх не могли перехопити та прочитати зловмисники, варто використовувати зашифровані аналоги протоколів: HTTPs замість HTTP та FTPs замість FTP.
- Швидкість завантаження. За інших рівних і HTTP і FTP передають дані приблизно однаково швидко. Різниця, якщо й буде, то невелика.
Це лише основні моменти. Якщо цікаво, ось більш детальний аналіз відмінностей між двома протоколами:
Що таке FTP-сервер та FTP-клієнт
FTP-сервер — це програма, яка приймає та обробляє вхідні запити за протоколом FTP. Її налаштовують на комп’ютері, до якого повинні підключатися.
На хостингу FTP-сервер встановлено за замовчуванням, інформацію для підключення до нього зазвичай надсилають у листі про активацію хостингу.
А ще за допомогою такої програми можна створити сховище для медіафайлів зі старого комп’ютера. Налаштовуєте програму, залишаєте комп’ютер увімкненим і їдете у відпустку. Вдень знімаєте фото та відео, увечері підключаєтеся до комп’ютера FTP з готелю, скидаєте файли, а на телефоні видаляєте, щоб не витрачати місце.
Популярні FTP-сервери:
- FileZilla Server (Windows, Mac, Linux)
- Xlight FTP Server (Windows)
- CompleteFTP (Windows)
- Core FTP Server (Windows)
- ProFTPD (Linux)
FTP-клієнт — це програма для підключення до FTP-сервера та віддаленої роботи з файлами. Це може бути спеціальний додаток для роботи по FTP, командний рядок і навіть стандартний файловий менеджер Windows/Linux. Ось інструкція для кожного з варіантів:
Як підключитися до сервера за протоколом FTP
Популярні FTP-клієнти:
- FileZilla (Windows, Mac, Linux)
- Cyberduck (Windows, Mac)
- WinSCP (Windows)
- Documents by Readdle (Mac, iOS)
- X-plore File Manager (Android)
Як працює FTP
Як ви вже знаєте з попередніх розділів, для роботи за протоколом FTP клієнт та сервер встановлюють один з одним два з’єднання: спочатку керуюче (для передачі команд), потім інформаційне (для передачі даних). Для кожного з’єднання використовуються випадкові порти з діапазону 1024-65535.
![Що це: ФТП сервер та ФТП клієнт](https://hostiq.ua/wiki/wp-content/uploads/2022/08/01-ftp-ukr-1.png)
Використання випадкових портів ускладнює роботу з FTP, тому що вхідні з’єднання до подібних портів з міркувань безпеки часто блокують файрволи. Щоб уникнути подібних проблем, є два режими роботи FTP: активний та пасивний.
Активний режим FTP влаштований так, що спочатку клієнт звертається до сервера, щоб встановити з’єднання, а потім вже сервер звертається до клієнта, щоб встановити інформаційне з’єднання.
Якщо відкинути технічні деталі, процес підключення виглядає так:
- Клієнт підключається з випадкового порту до порту 21 сервера, відправляє команду PORT і номер порту, до якого повинен підключитися сервер.
- Сервер підключається з порту 20 до вказаного клієнтом порту і встановлює інформаційне з’єднання. Потім по цих портах передаються файли.
У такому режимі роботи FTP, якщо на комп’ютері користувача стоїть файрвол, він може заблокувати спробу сервера підключитися до нетиповому порту. Без файрвола все працюватиме без проблем.
![Що таке ФТП — Активний режим роботи протоколу](https://hostiq.ua/wiki/wp-content/uploads/2022/08/02-ftp-ukr.png)
Пасивний режим FTP відрізняється від активного тим, що обидва з’єднання ініціює клієнт. Це вирішує проблему з файрволом, оскільки з’єднання, які встановлює клієнт, не блокуються.
У спрощеному вигляді процес підключення виглядає так:
- Клієнт підключається з випадкового порту до порту 21 сервера і відправляє команду PASV. Сервер відповідає та вказує номер порту, до якого повинен підключитися клієнт.
- Клієнт підключається з випадкового порту до порту, який вказав сервер і встановлює інформаційне з’єднання. Після цього цими портами передаються файли.
![Що таке ФТП — Пасивний режим роботи протоколу](https://hostiq.ua/wiki/wp-content/uploads/2022/08/03-ftp-ukr.png)
Що далі
Наступного разу, коли потрібно завантажити або відредагувати файли на хостингу, спробуйте зробити це за протоколом FTP. Розібратися в цьому допоможе наша інструкція з використання найпопулярнішого FTP-клієнта:
Як працювати з файлами у FileZilla