FTP (англ. File Transfer Protocol, укр. протокол передавання файлів) — стандартний мережевий протокол прикладного рівня, призначений для пересилання файлів між клієнтом та сервером в комп'ютерній мережі.
Клієнт та сервер створюють окремі канали для передачі даних та обміну командами[1]. Можлива автентифікація клієнтів із використанням відкритого тексту, зазвичай це ім'я користувача (логін) та пароль. Також сервер може бути налаштований для роботи без автентифікації користувачів (так звані «анонімні сеанси»).
Для захисту даних (а також процесу автентифікації) використовують побудований на основі SSL/TLS варіант FTPS, або розширення протоколу SSH — SSH File Transfer Protocol (SFTP).
Перші FTP-клієнти були створені ще до появи графічного інтерфейсу користувача в операційних системах і тому мали інтерфейс командного рядка. Проте, такі клієнти досі є складовою сучасних операційних систем сімейства Windows, UNIX-подібних та операційних систем на основі Linux[2]. Відтоді було створено численні версії FTP клієнтів, підтримка протоколу була вбудована в різноманітні утиліти, сервери, пристрої тощо.
Протокол передавання файлів (англ. File Transfer Protocol, FTP) дає можливість абоненту обмінюватися двійковими і текстовими файлами з будь-яким комп'ютером мережі, що підтримує протокол FTP. Установивши зв'язок з віддаленим комп'ютером, користувач може скопіювати файл з віддаленого комп'ютера на свій, або скопіювати файл зі свого комп'ютера на віддалений.
Перша реалізація протоколу задокументована в RFC 114 ще 1971 році, задовго до існування протоколів TCP/IP[2]. Вона передбачала обмін між клієнтом і сервером повідомленнями, що складаються з заголовка (72 біт) і даних змінної довжини. Тема повідомлення містила у собі запит до FTP-сервера або відповідь від нього, тип і довжину переданих даних. Як дані передавалися параметри запиту (наприклад, шлях і ім'я файлу), інформація від сервера (наприклад, список файлів у каталозі) і самі файли. Таким чином, команди і дані передавалися по одному і тому ж каналу.
У 1972 р. протокол був повністю змінений, і прийняв вигляд, близький до сучасного. Команди з параметрами від клієнта та відповіді сервера передаються по Telnet-з'єднанню (канал керування), для передавання власне даних створюється окреме з'єднання (канал даних).
Наступні редакції додали можливість роботи в пасивному режимі, пересилання файлів між FTP-серверами, ввели команди отримання інформації, зміни поточного каталогу, створення і видалення каталогів, збереження файлів під унікальним ім'ям. Деякий час існували команди для пересилання електронної пошти через FTP, проте згодом їх виключили з протоколу.
У 1980 р. FTP-протокол став використовувати TCP. Остання редакція протоколу випущена в 1985 р. У 1997 р. з'явилося доповнення до протоколу, що дозволяє шифрувати і підписувати інформацію в каналі керування і каналі даних. У 1999 р. випущено додаток, присвячений інтернаціоналізації протоколу, яке рекомендує використовувати кодування UTF-8 для команд і відповідей сервера і визначає нову команду LANG, що встановлює мову відповідей.
FTP має 4 типи даних для файлів[3]:
Команди ідентифікуються три або чотирилітерними кодами[4].
{{cite web}}
Lokasi Pengunjung: 3.135.187.252