FTP-сервер: принципы работы
Приветствую всех посетителей сайта! Сегодня мы поговорим о FTP-серверах, узнаем, каковы их возможности и сфера применения. Каждый из нас неоднократно пользовался FTP (при загрузке сайта на хостинг, для создания и хранения бэкапов, скачивания файлов), совершенно не задумываясь о возможностях и принципах работы подобных серверов.
FTP является общепринятым протоколом для передачи каких-либо данных. Простыми словами, это набор определенных инструкций, выполняя которые удаленные ПК могут обмениваться информацией с FTP-сервером. Появился он в 1971 г., значительно раньше общепринятого нынче протокола HTTP.
Изначально протокол позволял обмениваться информацией серверу и клиенту, передавая команды и данные по единственному каналу. Но очень скоро FTP - протокол был серьезно доработан и для передачи информации были созданы дополнительные каналы.
Последней редакции FTP протокол подвергся в 1985 г., а последнее дополнение к нему вышло в 1999 г. и касалось интернационализации протокола. В нем рекомендуется использование кодировки UTF-8 для серверных команд. Для этого специально созданная новая команда "LANG" устанавливала язык серверных ответов.
Теперь давайте разберем, чем FTP - протокол отличается от HTTP. Во-первых, как мы уже выяснили, в протоколе FTP используется множественное подключение, в то время, как в HTTP-протоколе используется исключительно одиночное подключение.
Во-вторых, принцип работы протокола ftp происходит на основе сессий, т.е. сервер умеет "запоминать" состояние сессии и если она прервется, продолжит работу именно с текущего момента. А вот в протоколе http осуществляют запоминание состояния внешние методы, поскольку его задача - не обмен данными, а предоставление запрашиваемых данных.
В-третьих, в протоколе FTP реализована аутентификация пользователей по схеме логин-пароль. Если введенные данные верны, они будут обработаны сервером и это станет началом новой рабочей сессии. Если позволяют возможности сервера, то пользователям может быть предоставлен анонимный FTP-доступ, здесь уж все зависит от особенностей самого сервера.
В-четвертых, ftp при осуществлении передачи данных поддерживает как текстовый, так и двоичный режимы, а также позволяет выполнять некоторые команды над самой файловой системой, чего нет в http-протоколе.
В-пятых, у FTP есть возможность выбора активного или пассивного режима. Метод установки соединения будет напрямую зависеть от выбранного режима. Например, пассивный режим чаще всего используется, когда клиент пользуется брандмауэром, в связи с чем не может принять входящую информацию обычным способом.
Из минусов FTP - протокола стоит отметить наличие уязвимостей в защите. Поскольку FTP не умеет шифровать свой трафик, из-за чего передача информации представляет собой открытый текст, то данные клиентов (логины, пароли) а также серверные команды могут попасть в руки любого пользователя, способного перехватить эти данные внутри сети.
Данная проблема присуща не только протоколу FTP, но и имеет место для POP, IMAP-спецификаций, а также SMTP-серверов, поэтому для защиты данных используется шифрование SSL/TLS или менее уязвимый протокол по типу SFTP/SCP.