FTP-клиент

FTP-клиент  FTP — File Transfer Protocol (букв. «протокол передачи файлов») — Компьютерная программа для упрощения доступа к FTP серверу. В зависимости от назначения может либо предоставлять пользователю простой доступ к удалённому FTP-серверу в режиме текстовой консоли, беря на себя только работу по пересылке команд пользователя и файлов, либо отображать файлы на удалённом сервере, как если бы они являлись частью файловой системы компьютера пользователя, либо и то и другое. В последних двух случаях FTP-клиент берёт на себя задачу интерпретации действий пользователя в команды протокола FTP, тем самым давая возможность использовать протокол передачи файлов без ознакомления со всеми его премудростями.

Частными примерами использования FTP-клиента могут быть:
 Публикация страниц сайта на интернет-сервере Веб-разработчиком
 Скачивание музыки, программ и любых других файлов данных обычным пользователем интернета. Данный пример зачастую даже не осознаётся многими пользователями как использование FTP-клиента и протокола, так как многие публичные серверы не запрашивают дополнительных данных для аутентификации пользователей, а Интернет-браузеры (также являющиеся FTP-клиентами) осуществляют скачивание файлов без дополнительных вопросов.

Реализация 
В простейшем для пользователя (но при этом наиболее ко́мплексном) случае FTP-клиент представляет собой эмулятор файловой системы, которая просто находится на другом компьютере. С этой файловой системой можно совершать все привычные пользователю действия: копировать файлы с сервера и на сервер, удалять файлы, создавать новые файлы. В отдельных случаях возможно также открытие файлов — для просмотра, запуска программ, редактирования. Необходимо учитывать лишь, что открытие файла подразумевает его предварительное скачивание на компьютер пользователя. Примерами таких программ могут служить:
 Интернет-браузеры (часто работают в режиме «только чтение», то есть не позволяют добавлять файлы на сервер)
 Многие файловые менеджеры, например: Windows Explorer (Проводник), WinSCP, Total Commander, FAR, Midnight Commander, Krusader
 Специализированные программы, например: FileZilla
 Онлайн клиенты, работа с которыми осуществляется посредством любого интернет-браузера
Благодаря распространённости протокола FTP, простые (с точки зрения реализации) FTP-клиенты есть практически в каждой операционной системе. Однако использование этих клиентов требует навыков использования консоли, а также знания команд протокола для общения с сервером. Так в Windows такой утилитой является ftp.exe. Во многих сборках Linux также есть утилита ftp.

Права доступа и авторизация 
Файловая система на удалённом сервере как правило имеет настройки прав доступа для различных пользователей. Так, например, анонимным пользователям могут быть доступны лишь некоторые файлы, о существовании других пользователи знать не будут. Другой группе пользователей могут быть доступны другие файлы или, например, в дополнение к правам на чтение файлов могут быть также даны права на запись новых или обновление имеющихся файлов. Диапазон вариантов прав доступа зависит от операционной системы и программного обеспечения каждого конкретного FTP-сервера. Как правило, разделяют права на просмотр содержимого папки (то есть возможность получить список содержащихся в ней файлов), на чтение файла(ов), на запись (создание, удаление, обновление) файла(ов).

Для авторизации FTP-сервер, при подключении к нему FTP-клиента, запрашивает у последнего имя пользователя и пароль. Большинство FTP-клиентов в свою очередь запрашивают эти данные у пользователя в интерактивном режиме. Есть также и другой способ указать эти данные, включив их в URL FTP-сервера. Так, например, в строке
ftp://vasya:key@ftp.example.com
 ftp:// — указание того, что мы используем протокол FTP
 vasya — имя пользователя
 : — разделитель имени пользователя и пароля
 key — пароль
 @ — разделитель аутентификационной информации и адреса сервера
 ftp.example.com — адрес FTP-сервера

Нередки случаи, когда такой метод указания имени пользователя и пароля является единственным, который поддерживает FTP-клиент.

См. также 
 Сравнение FTP-клиентов
  RFC1738  — Uniform Resource Locators (URL) описание стандарта написания URL-адресов

FTP-клиенты