В процессе развития Интернета и его перехода в состояние глобальной сети, возникла новая потребность – передавать документы с одного устройства на другое на значительном расстоянии. Раньше загрузить их в условный мессенджер или на облачный сервис, чтобы затем скинуть их потенциальному получателю, было нельзя. Обмен документами в 1971 году начал осуществляться при помощи FTP-протоколов.
Соответствующий подход смог решить основную проблему – обеспечение быстрого и надежного обмена документами по Сети. Огромную популярность FTP получил за счет своей простоты. Чтобы получить доступ к компьютеру, пользователю было необходимо ввести только логин, а также пароль.
Далее предстоит выяснить, что собой представляет FTP-сервер, для каких целей он необходим, а также как организовывается в самом простом случае. Дополнительно нужно изучить отличие протокола от HTTP, его преимущества и недостатки. Предложенная информация ориентирована на широкую публику. Она подойдет не только разработчикам и системным администраторам, но и обычным пользователям.
Определение
FTP-сервер – это протокол для передачи информации через Интернет. Дословно аббревиатура переводится как «протокол передачи данных». Она произошла от английского FileTransferProtocol. С помощью этого протокола можно скачивать, а также отправлять разнообразные файлы: видео, текст, программы, картинки и музыку.
FTP-сервер возник задолго до HTTP и TCP/IP. Это один из старейших прикладных протоколов. Изначально он функционировал поверх NCP. Сейчас рассматриваемый компонент широко используется для предоставления доступа к удаленным хостам, а также распространения программного обеспечения.
В процедуре работы FTP участвуют две стороны: клиент и сервер. Первый отправляет запрос в виде своеобразной команды, второй обрабатывает входной сигнал и возвращает ответ в виде соответствующего документа или сообщения об ошибке.
В классическом смысле для обмена файлами при подключении к серверной стороне запрашивается логин и пароль. Это необязательные составляющие. FTP предусматривает анонимное соединение – когда к серверу доступно подключение без предварительной авторизации. Это не самый распространенный и безопасный вариант, но иногда встречается.
Пример из жизни
Чтобы лучше понимать, что собой представляет FTP-протокол, необходимо рассмотреть наглядный жизненный пример:
- Человек работает в IT-организации. В компании все коды и файлы хранятся на едином локальном хранилище.
- Соответствующее хранилище представлено в виде внутреннего сервера, доступного исключительно сотрудникам компании.
- Для начала работы необходимо перенести рабочие документы на свое устройство, а для этого – непосредственно подключиться к серверу.
- Чтобы установить соединение с серверной частью, требуется открыть консоль и установить соединение через FTP для доступа к хранилищу.
Перед соединением система запросит логин и пароль. Если не указать соответствующую информацию, подключиться к серверной части не получится. После авторизации работник увидит на сервере все размещенные файлы. Или только те, доступ к которым открыл системный администратор.
Для скачивания файлов на устройство останется ввести несколько «дежурных» команд и дождаться завершения загрузки.
File-Transfer-Protocol (FTP) сегодня может быть заменен. Обмениваться рабочими документами стало удобнее – через Git, использующий современные протоколы (пример – HTTP или SSH). Но до сих пор встречаются ситуации, когда рассматриваемый тип обмена информацией незаменим. Пример – если требуется развернуть Git-репозиторий на FTP-сервере. В этом случае без соответствующего подключения не обойтись.
Отличие FTP от HTTP
В Интернете для обмена информацией поддерживаются два известных протокола: FTP и HTTP. Оба варианта используются для решения примерно одинаковых задач, но их ключевые назначения отличаются:
- FTP-сервер. В самом начале истории развития был создан для обмена информацией между компьютерами. Использует два соединения для функционирования: для передачи и управления соответственно. Ключевой идеей является то, что FTP умеет отслеживать выполнение длинных запросов. Пример – передача больших документов или управление данными на сервере.
- HTTP. Протокол, используемый для гипертекстовых документов – сайтов и веб-страниц. В своей работе задействует только одно соединение. По нему происходит обмен запросами и ответами между клиентом и сервером. Длинные сеансы для передачи данных HTTP не требуются.
FTP ориентирован на долгое и сложное взаимодействие сервера и клиента. Он запоминает, что, кому и когда передал. HTTP предусматривает иную задачу – управление запросами в Интернете. Он не сохраняет состояние сессии, но работает быстрее.
Преимущества и недостатки
File Transfer Protocol имеет несколько преимуществ:
- Возможность передачи файлов на другие устройства. Эта опция удобна, если необходимо обмениваться документами с друзьями/коллегами или загружать их на сервер сайта. Достаточно подключиться к соответствующему сервису, отправить информацию и ждать результатов.
- Резервное копирование. Протокол используется для обеспечения соответствующего функционала. Документы не потеряются, если сделать бэкап на удаленное оборудование.
- Удаленный доступ к файлам. FTP-протокол может стать отличной заменой Google Drive или «Яндекс.Диск». В этом случае работать все будет так: администратор подготавливает удаленный компьютер, загружает на него файлы и извлекает их по мере необходимости.
FTP имеет также ряд недостатков. К ним относят:
- Отсутствие качественной защиты. При подключении к серверу данные отправляются по Сети в незашифрованном виде, включая логины (имя пользователя), пароли и сами документы. У FTP отсутствует защита от брутфорса. Это значит, что пароль к серверной части удается подобрать за счет обычного перебора.
- Неэффективная система передачи. Для каждой соответствующей операции протокол FTP требует установки нового соединения. Если требуется одновременно обмениваться несколькими документами, не исключены задержки и увеличение нагрузки на Сеть. Данная проблема особо актуальна при работе с крупными файлами.
- Разрывы соединения при ошибках. Если в процессе передачи файлов по FTP возникает ошибка или сбой, весь процесс прервется. Его придется начинать с самого начала.
Несмотря на имеющиеся недостатки, FTP все равно иногда используется при работе в Сети. В процессе развития протокола у него возникли новые виды. Они являются более защищенными.
Классификация
FTP – протокол, который используется для обмена данными. Его нельзя назвать защищенным, поэтому разработчики создали новые виды соответствующего «сервиса». Они помогли решить основные проблемы безопасности.
На данный момент существуют два защищенных протокола: FTPS и SFTP. Далее предстоит познакомиться с ними получше.
FTPS
FTPS – расширение FTP, использующее сертификаты TLS и SSL. Расшифровывается аббревиатура как File Transfer Protocol Secure, или «защищенный протокол передачи данных».
Работает FTPS-сервер точно также, как и FTP. Разница заключается в том, что во время подключения клиент и сервер будут обмениваться сертификатами. Это своеобразный договор о безопасности.
Сертификаты могут быть получены в центрах сертификации или созданы разработчиками самостоятельно. В первом случае можно рассчитывать на гарантированную надежность.
SFTP
SFTP – еще одно расширение FTP-протокола. В процессе функционирования оно использует протокол SSH. Расшифровывается как Secure File Transfer Protocol или «защищенный протокол передачи данных».
SFTP для работы требуется всего один порт – SSH, который умеет разделять его на несколько каналов. Один выделяется для управления, второй – для непосредственной передачи данных.
Обмен файлами через SFTP защищен за счет специальных SSH-ключей. Один из них на стороне клиента будет шифровать трафик, другой – дешифрует его на стороне сервера.
Выше можно увидеть схематичное представление защищенных FTP-протоколов. Они отлично дополняют «классический» файловый «обменник». При выборе типа «защиты» рекомендуется учитывать особенности каждого отдельно взятого проекта. Пример – при наличии SSL-сертификата удобнее пользоваться FTPS. Отсутствие соответствующего «документа» и нежелание его приобретать – веский повод для работы с SFTP.
Как передавать документы
FTP требует для работы два элемента. Это клиент и сервер. Первый подключается ко второму и отправляет ему команды. Это необходимо для загрузки или скачивания файлов.
Для подключения к серверу требуется узнать:
- IP-адрес;
- логин (имя пользователя);
- пароль для авторизации.
Логин и пароль устанавливаются на серверной части модели при настройке. IP тоже можно выяснить на сервере. Пример – консоль Windows. Через нее соответствующие данные удается получить с помощью команды ipconfig.
После уточнения необходимой информации можно устанавливать соединение. Для этого требуется специальное приложение – FTP-клиент. Оно бывает представлено обычным консольным программным обеспечением или софтом с графическим интерфейсом.
Для передачи файлов FTP-клиент запросил подключение к серверу с последующей авторизацией. Ниже – пример того, как выглядит эта операция в консоли Windows:
Для просмотра спектра доступных на сервере файлов используется команда $ ls. При загрузке и скачивании документов необходимо задействовать две операции:
- PUT – отвечает за отправку файлов с компьютера пользователя на сервер;
- GET – загружает документы с сервера на устройство.
После ввода одного из предложенных вариантов клиент и сервер создают соединение для обмена файлами. Документы делятся на пакеты – небольшие фрагменты размером от 1 до 64 Кб. Далее они отправляются по протоколу TCP/IP. В консоли процесс будет выглядеть так:
Если передача по FTP пройдет успешно, клиент выведет на экран соответствующее сообщение. В противном случае обмен документами останавливается. На дисплее возникает характерное сообщение об ошибке. В нем содержится код и короткое пояснение.
Теперь понятно, как работает FTP. Закрыть соответствующее соединение можно при помощи команды $ quit.
Принцип работы авторизации
FTP предусматривает несколько способов авторизации: анонимный и «классический» (через логин и пароль). Первый вариант доступен на любом сервере. Он нужен для того, чтобы делать отдельные файлы общедоступными.
Пример – пользователь может выложить картинку на FTP-сервер, разослать ее своим друзьям, но выдать им данные только из анонимного режима. Это поможет скрыть другие документы на сервере от лишних глаз.
Авторизация при анонимном подключении напоминает «классический» вариант. Вместо имени пользователи клиент вводит слово anonymous, а пароль заменяется любым адресом электронной почты или оставляется пустым.
Анонимный режим является рудиментом, оставшимся со времен Unix-систем. Тогда повсеместно использовалась логин-паролевая авторизация, а другие концепции еще не были придуманы.
FTP-client
Для чего нужен FTP-клиент, понятно. Это файловый менеджер. С его помощью можно подключиться к удаленному серверу для дальнейшей передачи данных. При подключении клиента используется следующая информация:
- пароль;
- логин;
- имя сервера (хост);
- номер порта (по умолчанию для FTP – 21).
Если использовать файловый менеджер неудобно, существует альтернатива – загрузка и скачивание файлов за счет удаленного сервера, находящегося прямо в браузере. Для этого используется менеджер в панели управления хостингов TimeWeb. Соответствующая технология называется WebFTP.
Далее будут представлены лучшие клиенты для обмена файлами по FTP. С их помощью рассматриваемый способ передачи информации с легкостью освоит даже начинающий пользов��тель.
FileZilla
Один из самых популярных файловых менеджеров. Дает возможность удобно и быстро подключаться к удаленным серверам. Предусматривает простой интерфейс, а также понятное управление.
FileZilla имеет два ключевых окна:
- показывающее файлы и папки на устройстве;
- отображающее директорию удаленного сервера.
Для перемещения файлов с одного устройства на другое достаточно просто перетащить его из левой области в правую.
FileZilla поддерживает различные функции: передача по VPN, синхронизация в облаке, использование сертификатов TLS и SSL для защищенных соединений.
CuteFTP
Клиент, напоминающий предыдущий. Отличается тем, что является платным. CuteFTP используется в коммерческой разработке за счет наличия в нем продвинутых функций. В их число входит планирование и синхронизация документов.
Принцип управления в этом FTP-сервисе не отличается от FileZilla. Для передачи документов с одного устройства на другое достаточно перетащить его из левого окна в правое. CuteFTP тоже поддерживает SSL и TLS.
Создание
Для создания FTP-server в Windows необходимо иметь версию операционной системы Professional, Enterprise или Educational. В домашней сборке придется пользоваться только сторонними приложениями.
Для создания FTP-server в Windows потребуется:
- Зайти в «Панель управления».
- Перейти в раздел «Программы и компоненты».
- Выбрать опцию «Включение или отключение элементов Windows».
- Поставить отметку у пункта «FTP-сервер».
- Найти «Службы IIS»–«Средства управления веб-сайтом». Поставить отметку около «Сценарии и средства управления IIS».
- Создать папку на жестком диске устройства. Пусть она размещается на диске C и называется ftp. В ней будут храниться документы для обмена.
- Перейти в «Диспетчер служб IIS».
- Нажать правой кнопкой мыши по пункту «Сайты», а затем выбрать «Добавить FTP-сайт».
- Указать информацию о сервере. В разделе «Физический путь» необходимо указать путь до папки ftp. После заполнения полей – нажать на «Далее».
- В разделе «Привязка» ничего изменять не нужно, в «SSL» – «без SSL».
- Указать пользователей, которых можно пускать на сервер. Выдать им разрешения.
FTP-server создан. Теперь можно получить IP-компьютера, открыть ФТП-клиент или проводник, ввести в адресной строке ftp://[IP-адрес] и подтвердить операцию.
P. S. Интересуют компьютерные сети, сетевые технологии, протоколы передачи данных? Обратите внимание на следующие курсы в Otus:
<!DOCTYPE html>
<html dir="ltr" lang="ru-RU">
<head>
<meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<title>File Transfer Protocol: введение в основы OTUS</title>
<!-- All in One SEO 4.5.2.1 - aioseo.com -->
<meta name="description" content="В процессе развития Интернета и его перехода в состояние глобальной сети, возникла новая потребность – передавать документы с одного устройства на другое на значительном расстоянии. Раньше загрузить их в условный мессенджер или на облачный сервис, чтобы затем скинуть их потенциальному получателю, было нельзя. Обмен документами в 1971 году начал осуществляться при помощи FTP-протоколов. Соответствующий подход" />
<meta name="robots" content="max-image-preview:large" />
<link rel="canonical" href="https://otus.ru/journal/file-transfer-protocol-vvedenie-v-osnovy/" />
<meta name="generator" content="All in One SEO (AIOSEO) 4.5.2.1" />
<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/otus.ru\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/#article","name":"File Transfer Protocol: \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u0441\u043d\u043e\u0432\u044b OTUS","headline":"File Transfer Protocol: \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u0441\u043d\u043e\u0432\u044b","author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2023\/10\/oj-1080x720145-1.jpg","width":2245,"height":1587},"datePublished":"2023-10-16T21:08:32+00:00","dateModified":"2023-10-16T21:08:33+00:00","inLanguage":"ru-RU","mainEntityOfPage":{"@id":"https:\/\/otus.ru\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/#webpage"},"isPartOf":{"@id":"https:\/\/otus.ru\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/#webpage"},"articleSection":"\u041f\u043e\u043b\u0435\u0437\u043d\u043e\u0435, FTP, Net, \u0441\u0435\u0442\u0438"},{"@type":"BreadcrumbList","@id":"https:\/\/otus.ru\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/#listItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/otus.ru\/journal\/","nextItem":"https:\/\/otus.ru\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/#listItem"},{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/#listItem","position":2,"name":"File Transfer Protocol: \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u0441\u043d\u043e\u0432\u044b","previousItem":"https:\/\/otus.ru\/journal\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/otus.ru\/journal\/#organization","name":"\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","url":"https:\/\/otus.ru\/journal\/","sameAs":["https:\/\/www.youtube.com\/channel\/UCetgtvy93o3i3CvyGXKFU3g"],"contactPoint":{"@type":"ContactPoint","telephone":"+74999389202","contactType":"Customer Support"}},{"@type":"Person","@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author","url":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/","name":"A. Pavlenko","image":{"@type":"ImageObject","@id":"https:\/\/otus.ru\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d4c499a104d7c2522fa41f89e6819499?s=96&d=mm&r=g","width":96,"height":96,"caption":"A. Pavlenko"}},{"@type":"WebPage","@id":"https:\/\/otus.ru\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/#webpage","url":"https:\/\/otus.ru\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/","name":"File Transfer Protocol: \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u0441\u043d\u043e\u0432\u044b OTUS","description":"\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0438 \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044c \u2013 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0435 \u043d\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0438. \u0420\u0430\u043d\u044c\u0448\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0438\u0445 \u0432 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440 \u0438\u043b\u0438 \u043d\u0430 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0442\u0435\u043c \u0441\u043a\u0438\u043d\u0443\u0442\u044c \u0438\u0445 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044e, \u0431\u044b\u043b\u043e \u043d\u0435\u043b\u044c\u0437\u044f. \u041e\u0431\u043c\u0435\u043d \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0432 1971 \u0433\u043e\u0434\u0443 \u043d\u0430\u0447\u0430\u043b \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 FTP-\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/otus.ru\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/otus.ru\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/#breadcrumblist"},"author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"creator":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2023\/10\/oj-1080x720145-1.jpg","@id":"https:\/\/otus.ru\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/#mainImage","width":2245,"height":1587},"primaryImageOfPage":{"@id":"https:\/\/otus.ru\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/#mainImage"},"datePublished":"2023-10-16T21:08:32+00:00","dateModified":"2023-10-16T21:08:33+00:00"},{"@type":"WebSite","@id":"https:\/\/otus.ru\/journal\/#website","url":"https:\/\/otus.ru\/journal\/","name":"OTUS JOURNAL","description":"Blog about IT","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"}}]}
</script>
<!-- All in One SEO -->
<link rel='dns-prefetch' href='//otus.ru' />
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='stylesheet' id='wp-block-library-css' href='https://otus.ru/journal/wp-includes/css/dist/block-library/style.min.css?ver=6.4.7' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='wbcr-comments-plus-url-span-css' href='https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/css/url-span.css?ver=2.2.0' type='text/css' media='all' />
<link rel='stylesheet' id='wpel-style-css' href='https://otus.ru/journal/wp-content/plugins/wp-external-links/public/css/wpel.css?ver=2.59' type='text/css' media='all' />
<link rel='stylesheet' id='ez-toc-css' href='https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.61' type='text/css' media='all' />
<style id='ez-toc-inline-css' type='text/css'>
div#ez-toc-container .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li {font-size: 95%;}div#ez-toc-container nav ul ul li {font-size: 90%;}
.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
</style>
<link rel='stylesheet' id='contentberg-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C500%2C700%7CPT+Serif%3A400%2C400i%2C600%7CIBM+Plex+Serif%3A500' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-core-css' href='https://otus.ru/journal/wp-content/themes/contentberg/style.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-lightbox-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/lightbox.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/fontawesome/css/font-awesome.min.css?ver=1.8.3' type='text/css' media='all' />
<script type="text/javascript" id="breeze-prefetch-js-extra">
/* <![CDATA[ */
var breeze_prefetch = {"local_url":"https:\/\/otus.ru\/journal","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js" id="breeze-prefetch-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/lazysizes.js" id="lazysizes-js"></script>
<link rel="https://api.w.org/" href="https://otus.ru/journal/wp-json/" /><link rel="alternate" type="application/json" href="https://otus.ru/journal/wp-json/wp/v2/posts/7748" /><link rel='shortlink' href='https://otus.ru/journal/?p=7748' />
<link rel="alternate" type="application/json+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Ffile-transfer-protocol-vvedenie-v-osnovy%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Ffile-transfer-protocol-vvedenie-v-osnovy%2F&format=xml" />
<script>var Sphere_Plugin = {"ajaxurl":"https:\/\/otus.ru\/journal\/wp-admin\/admin-ajax.php"};</script><link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-270x270.png" />
<style type="text/css" id="wp-custom-css">
#menu-item-10406 .wpel-icon {
display: none;
}
#menu-item-10407 .wpel-icon {
display: none;
}
.otus-login-site a .wpel-icon {
display: none;
}
.menu-menju-navykov-container a .wpel-icon {
display: none;
}
.otus-login-site a
{
background: #ffd709;
border-radius: 12px;
color: #0f0f10;
font-size: 14px;
font-weight: 700;
line-height: 20px;
display: block;
text-align: center;
padding: 8px 25px;
}
.main-footer.dark {
background: linear-gradient(90deg, #a64fc5, #4f54e6);
border-color: transparent;
}
.main-footer.bold .copyright {
color: #fff;
}
.main-footer.bold .to-top i {
color: #fff;
}
.main-footer.bold .back-to-top {
color: #fff;
}
.nav__scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.scrollable-menu .menu {
display: flex;
}
.nav__scroll
{
background: linear-gradient(90deg, #a64fc5, #4f54e6);
}
.scrollable-menu .menu .menu-item {
flex: 0 0 auto;
padding: 15px 15px;
}
.scrollable-menu .menu .menu-item a {
color: #fff;
}
.nav__scroll::-webkit-scrollbar{background-color:#fff;height:5px;}
.nav__scroll::-webkit-scrollbar-thumb{background-color:#dcdcdc;}
.nav__scroll::-webkit-scrollbar-track{-webkit-border-radius:0;border-radius:0;background-color:#fff;}/
body {
min-width: 320px;
}
.banner-click img {
margin: 0 auto;
display: block;
}
.banner-click {
cursor: pointer;
}
.banner-footer-area {
margin-bottom: 20px;
}
.banner-left-area {
margin-top: 40px;
} </style>
<!--Start VDZ Yandex Metrika Plugin-->
<!-- Yandex.Metrika counter --><script type="text/javascript" >(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(34531570, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true, ecommerce:"dataLayer"});</script>
<noscript><div><img src="https://mc.yandex.ru/watch/34531570" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><!--START ADD EVENTS FROM CF7--><script type='text/javascript'>document.addEventListener( 'wpcf7submit', function( event ) {
//event.detail.contactFormId;
if(ym){
//console.log(event.detail);
ym(34531570, 'reachGoal', 'VDZ_SEND_CONTACT_FORM_7');
ym(34531570, 'params', {
page_url: window.location.href,
status: event.detail.status,
locale: event.detail.contactFormLocale,
form_id: event.detail.contactFormId,
});
}
}, false );
</script><!--END ADD EVENTS FROM CF7-->
<!--End VDZ Yandex Metrika Plugin-->
</head>
<body class="post-template-default single single-post postid-7748 single-format-standard right-sidebar lazy-normal has-lb">
<div class="main-wrap">
<header id="main-head" class="main-head head-nav-below has-search-modal simple simple-boxed">
<div class="inner inner-head" data-sticky-bar="0">
<div class="wrap cf wrap-head">
<div class="left-contain">
<span class="mobile-nav"><i class="fa fa-bars"></i></span>
<div class="title">
<a href="https://otus.ru/journal/" title="OTUS JOURNAL" rel="home" data-wpel-link="internal">
<span class="text-logo"><img src="/journal/wp-content/themes/contentberg/img/logo_site.svg" alt="OTUS JOURNAL"></span>
</a>
</div>
</div>
<div class="navigation-wrap inline">
<nav class="navigation inline simple light" data-sticky-bar="0">
<div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"><li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-1 menu-item-109"><a href="https://otus.ru/journal/category/pro-it/" data-wpel-link="internal"><span>Про IT</span></a></li>
<li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-cat-4 menu-item-113"><a href="https://otus.ru/journal/category/polza/" data-wpel-link="internal"><span>Полезное</span></a></li>
<li id="menu-item-114" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-3 menu-item-114"><a href="https://otus.ru/journal/category/lifestyle/" data-wpel-link="internal"><span>Лайфстайл</span></a></li>
<li id="menu-item-10406" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10406"><a href="https://otus.ru/catalog/courses" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Обучение</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10407"><a href="https://otus.ru/about" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Информация</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </nav>
</div>
<div class="actions">
<div class="otus-login-site">
<a href="https://otus.ru/login/" target="_blank" data-wpel-link="external" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Войти<span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
<a href="#" title="Search" class="search-link"><i class="fa fa-search"></i></a>
</div>
</div>
</div>
</header> <!-- .main-head -->
<div class="nav nav_disable nav_colored nav_transparent course-categories__nav nav__scroll ">
<div class="container wrap">
<div class="links inline simple light scrollable-menu">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov" class="menu"><li id="menu-item-10413" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
</div>
</div>
<div class="main wrap">
<div class="ts-row cf">
<div class="col-8 main-content cf">
<article id="post-7748" class="the-post post-7748 post type-post status-publish format-standard has-post-thumbnail category-polza tag-ftp tag-net-2 tag-seti">
<header class="post-header the-post-header cf">
<div class="post-meta the-post-meta">
<span class="post-cat">
<a href="https://otus.ru/journal/category/polza/" class="category" data-wpel-link="internal">Полезное</a>
</span>
<h1 class="post-title">
File Transfer Protocol: введение в основы
</h1>
<a href="https://otus.ru/journal/file-transfer-protocol-vvedenie-v-osnovy/" class="date-link" data-wpel-link="internal"><time class="post-date">16 октября, 2023</time></a>
</div>
<div class="featured">
<a href="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720145-1.jpg" class="image-link" data-wpel-link="internal"><img width="770" height="515" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20770%20515%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-contentberg-main size-contentberg-main lazyload wp-post-image" alt="File Transfer Protocol: введение в основы" title="File Transfer Protocol: введение в основы" decoding="async" fetchpriority="high" data-srcset="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720145-1-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720145-1-270x180.jpg 270w" data-src="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720145-1-770x515.jpg" data-sizes="(max-width: 770px) 100vw, 770px" /> </a>
</div>
</header><!-- .post-header -->
<div class="post-content description cf entry-content content-normal">
<div id="ez-toc-container" class="ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title " >Содержание</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#%D0%9E%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5" title="Определение">Определение</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-2" href="#%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%B8%D0%B7_%D0%B6%D0%B8%D0%B7%D0%BD%D0%B8" title="Пример из жизни">Пример из жизни</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="#%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D0%B5_FTP_%D0%BE%D1%82_HTTP" title="Отличие FTP от HTTP">Отличие FTP от HTTP</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="#%D0%9F%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B8_%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8" title="Преимущества и недостатки">Преимущества и недостатки</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="#%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F" title="Классификация">Классификация</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-6" href="#FTPS" title="FTPS">FTPS</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-7" href="#SFTP" title="SFTP">SFTP</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="#%D0%9A%D0%B0%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B" title="Как передавать документы">Как передавать документы</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-9" href="#%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B_%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8" title="Принцип работы авторизации">Принцип работы авторизации</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="#FTP-client" title="FTP-client">FTP-client</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-11" href="#FileZilla" title="FileZilla">FileZilla</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-12" href="#CuteFTP" title="CuteFTP">CuteFTP</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-13" href="#%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5" title="Создание">Создание</a></li></ul></nav></div>
<p>В процессе развития Интернета и его перехода в состояние глобальной сети, возникла новая потребность – передавать документы с одного устройства на другое на значительном расстоянии. Раньше загрузить их в условный мессенджер или на облачный сервис, чтобы затем скинуть их потенциальному получателю, было нельзя. Обмен документами в 1971 году начал осуществляться при помощи FTP-протоколов.</p>
<p>Соответствующий подход смог решить основную проблему – обеспечение быстрого и надежного обмена документами по Сети. Огромную популярность FTP получил за счет своей простоты. Чтобы получить доступ к компьютеру, пользователю было необходимо ввести только логин, а также пароль.</p>
<p>Далее предстоит выяснить, что собой представляет FTP-сервер, для каких целей он необходим, а также как организовывается в самом простом случае. Дополнительно нужно изучить отличие протокола от HTTP, его преимущества и недостатки. Предложенная информация ориентирована на широкую публику. Она подойдет не только разработчикам и системным администраторам, но и обычным пользователям.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5"></span>Определение<span class="ez-toc-section-end"></span></h2>
<p>FTP-сервер – это протокол для передачи информации через Интернет. Дословно аббревиатура переводится как «протокол передачи данных». Она произошла от английского FileTransferProtocol. С помощью этого протокола можно скачивать, а также отправлять разнообразные файлы: видео, текст, программы, картинки и музыку.</p>
<p>FTP-сервер возник задолго до HTTP и TCP/IP. Это один из старейших прикладных протоколов. Изначально он функционировал поверх NCP. Сейчас рассматриваемый компонент широко используется для предоставления доступа к удаленным хостам, а также распространения программного обеспечения.</p>
<p>В процедуре работы FTP участвуют две стороны: клиент и сервер. Первый отправляет запрос в виде своеобразной команды, второй обрабатывает входной сигнал и возвращает ответ в виде соответствующего документа или сообщения об ошибке. </p>
<p>В классическом смысле для обмена файлами при подключении к серверной стороне запрашивается логин и пароль. Это необязательные составляющие. FTP предусматривает анонимное соединение – когда к серверу доступно подключение без предварительной авторизации. Это не самый распространенный и безопасный вариант, но иногда встречается.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_%D0%B8%D0%B7_%D0%B6%D0%B8%D0%B7%D0%BD%D0%B8"></span>Пример из жизни<span class="ez-toc-section-end"></span></h3>
<p>Чтобы лучше понимать, что собой представляет FTP-протокол, необходимо рассмотреть наглядный жизненный пример:</p>
<ol>
<li>Человек работает в IT-организации. В компании все коды и файлы хранятся на едином локальном хранилище.</li>
<li>Соответствующее хранилище представлено в виде внутреннего сервера, доступного исключительно сотрудникам компании.</li>
<li>Для начала работы необходимо перенести рабочие документы на свое устройство, а для этого – непосредственно подключиться к серверу.</li>
<li>Чтобы установить соединение с серверной частью, требуется открыть консоль и установить соединение через FTP для доступа к хранилищу.</li>
</ol>
<p>Перед соединением система запросит логин и пароль. Если не указать соответствующую информацию, подключиться к серверной части не получится. После авторизации работник увидит на сервере все размещенные файлы. Или только те, доступ к которым открыл системный администратор.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/jfc4GaQxpRM1o_qULGnsq15ahX8Qb2UcSRMte5hL0uGoSlJ5YcGZ2e4GJFQDXMzGJEYaJuk_frKlzyLDnPBv0QpWoVKC52zd6aveieMwfHTLAeTK4x2Q66f6hSUX5orLYBWMvjOHZcf5pyFBJPkbQA" alt="File Transfer Protocol: введение в основы"/></figure>
<p>Для скачивания файлов на устройство останется ввести несколько «дежурных» команд и дождаться завершения загрузки.</p>
<p>File-Transfer-Protocol (FTP) сегодня может быть заменен. Обмениваться рабочими документами стало удобнее – через Git, использующий современные протоколы (пример – HTTP или SSH). Но до сих пор встречаются ситуации, когда рассматриваемый тип обмена информацией незаменим. Пример – если требуется развернуть Git-репозиторий на FTP-сервере. В этом случае без соответствующего подключения не обойтись.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D0%B5_FTP_%D0%BE%D1%82_HTTP"></span>Отличие FTP от HTTP<span class="ez-toc-section-end"></span></h2>
<p>В Интернете для обмена информацией поддерживаются два известных протокола: FTP и HTTP. Оба варианта используются для решения примерно одинаковых задач, но их ключевые назначения отличаются:</p>
<ol>
<li>FTP-сервер. В самом начале истории развития был создан для обмена информацией между компьютерами. Использует два соединения для функционирования: для передачи и управления соответственно. Ключевой идеей является то, что FTP умеет отслеживать выполнение длинных запросов. Пример – передача больших документов или управление данными на сервере.</li>
<li>HTTP. Протокол, используемый для гипертекстовых документов – сайтов и веб-страниц. В своей работе задействует только одно соединение. По нему происходит обмен запросами и ответами между клиентом и сервером. Длинные сеансы для передачи данных HTTP не требуются.</li>
</ol>
<p>FTP ориентирован на долгое и сложное взаимодействие сервера и клиента. Он запоминает, что, кому и когда передал. HTTP предусматривает иную задачу – управление запросами в Интернете. Он не сохраняет состояние сессии, но работает быстрее.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B8_%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8"></span>Преимущества и недостатки<span class="ez-toc-section-end"></span></h2>
<p>File Transfer Protocol имеет несколько преимуществ:</p>
<ol>
<li>Возможность передачи файлов на другие устройства. Эта опция удобна, если необходимо обмениваться документами с друзьями/коллегами или загружать их на сервер сайта. Достаточно подключиться к соответствующему сервису, отправить информацию и ждать результатов.</li>
<li>Резервное копирование. Протокол используется для обеспечения соответствующего функционала. Документы не потеряются, если сделать бэкап на удаленное оборудование.</li>
<li>Удаленный доступ к файлам. FTP-протокол может стать отличной заменой Google Drive или «Яндекс.Диск». В этом случае работать все будет так: администратор подготавливает удаленный компьютер, загружает на него файлы и извлекает их по мере необходимости.</li>
</ol>
<p>FTP имеет также ряд недостатков. К ним относят:</p>
<ol>
<li>Отсутствие качественной защиты. При подключении к серверу данные отправляются по Сети в незашифрованном виде, включая логины (имя пользователя), пароли и сами документы. У FTP отсутствует защита от брутфорса. Это значит, что пароль к серверной части удается подобрать за счет обычного перебора.</li>
<li>Неэффективная система передачи. Для каждой соответствующей операции протокол FTP требует установки нового соединения. Если требуется одновременно обмениваться несколькими документами, не исключены задержки и увеличение нагрузки на Сеть. Данная проблема особо актуальна при работе с крупными файлами.</li>
<li>Разрывы соединения при ошибках. Если в процессе передачи файлов по FTP возникает ошибка или сбой, весь процесс прервется. Его придется начинать с самого начала.</li>
</ol>
<p>Несмотря на имеющиеся недостатки, FTP все равно иногда используется при работе в Сети. В процессе развития протокола у него возникли новые виды. Они являются более защищенными.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F"></span>Классификация<span class="ez-toc-section-end"></span></h2>
<p>FTP – протокол, который используется для обмена данными. Его нельзя назвать защищенным, поэтому разработчики создали новые виды соответствующего «сервиса». Они помогли решить основные проблемы безопасности.</p>
<p>На данный момент существуют два защищенных протокола: FTPS и SFTP. Далее предстоит познакомиться с ними получше.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="FTPS"></span>FTPS<span class="ez-toc-section-end"></span></h3>
<p>FTPS – расширение FTP, использующее сертификаты TLS и SSL. Расшифровывается аббревиатура как File Transfer Protocol Secure, или «защищенный протокол передачи данных».</p>
<p>Работает FTPS-сервер точно также, как и FTP. Разница заключается в том, что во время подключения клиент и сервер будут обмениваться сертификатами. Это своеобразный договор о безопасности.</p>
<p>Сертификаты могут быть получены в центрах сертификации или созданы разработчиками самостоятельно. В первом случае можно рассчитывать на гарантированную надежность.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="SFTP"></span>SFTP<span class="ez-toc-section-end"></span></h3>
<p>SFTP – еще одно расширение FTP-протокола. В процессе функционирования оно использует протокол SSH. Расшифровывается как Secure File Transfer Protocol или «защищенный протокол передачи данных».</p>
<p>SFTP для работы требуется всего один порт – SSH, который умеет разделять его на несколько каналов. Один выделяется для управления, второй – для непосредственной передачи данных.</p>
<p>Обмен файлами через SFTP защищен за счет специальных SSH-ключей. Один из них на стороне клиента будет шифровать трафик, другой – дешифрует его на стороне сервера.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/lijcT_aDlJDfwsx43MFy0RurNtP4BSuv-W5JIsnaOzGTrxs4A2o18E2jUUDqN0M3b2syF7Jft8hGdXGQ_A_Eiqxt3dG26fVkJ2lVmi7xqyLpoRZR4n_6HKq4V_8LroihMOY3q6wzj_L_90qXj_slAQ" alt="File Transfer Protocol: введение в основы"/></figure>
<p>Выше можно увидеть схематичное представление защищенных FTP-протоколов. Они отлично дополняют «классический» файловый «обменник». При выборе типа «защиты» рекомендуется учитывать особенности каждого отдельно взятого проекта. Пример – при наличии SSL-сертификата удобнее пользоваться FTPS. Отсутствие соответствующего «документа» и нежелание его приобретать – веский повод для работы с SFTP.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9A%D0%B0%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B"></span>Как передавать документы<span class="ez-toc-section-end"></span></h2>
<p>FTP требует для работы два элемента. Это клиент и сервер. Первый подключается ко второму и отправляет ему команды. Это необходимо для загрузки или скачивания файлов.</p>
<p>Для подключения к серверу требуется узнать:</p>
<ul>
<li>IP-адрес;</li>
<li>логин (имя пользователя);</li>
<li>пароль для авторизации.</li>
</ul>
<p>Логин и пароль устанавливаются на серверной части модели при настройке. IP тоже можно выяснить на сервере. Пример – консоль Windows. Через нее соответствующие данные удается получить с помощью команды ipconfig.</p>
<p>После уточнения необходимой информации можно устанавливать соединение. Для этого требуется специальное приложение – FTP-клиент. Оно бывает представлено обычным консольным программным обеспечением или софтом с графическим интерфейсом.</p>
<p>Для передачи файлов FTP-клиент запросил подключение к серверу с последующей авторизацией. Ниже – пример того, как выглядит эта операция в консоли Windows:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/OQ39hQSZmRJbJ8abk3FQkMEtdH46Ga0EU87_JKVMB5KnB7EGmVuPQR8oogufn08GVAQpz9PcrRZ9DHDFts97C5FAanAHsIbYyW9O3R7OH8Y1epCjCjVqGtsnDRJCicyQouGb9vVRzIUnxO6HC-hTWA" alt="File Transfer Protocol: введение в основы"/></figure>
<p>Для просмотра спектра доступных на сервере файлов используется команда $ ls. При загрузке и скачивании документов необходимо задействовать две операции:</p>
<ul>
<li>PUT – отвечает за отправку файлов с компьютера пользователя на сервер;</li>
<li>GET – загружает документы с сервера на устройство.</li>
</ul>
<p>После ввода одного из предложенных вариантов клиент и сервер создают соединение для обмена файлами. Документы делятся на пакеты – небольшие фрагменты размером от 1 до 64 Кб. Далее они отправляются по протоколу TCP/IP. В консоли процесс будет выглядеть так:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh6.googleusercontent.com/-OpobXJerclzMm-oa9YyDIKCsrGNTIk1D0Um6NA6jmR2Cb3Ww2-TuMMpxbvR79J9VTq9sjZLkbj90i-tqI3EQs4JI3wzVASCz0rzmIKBB6BtBSEmXW--SGb-sLNqPAZL4WPk8H5YePRv_w7UItAHTg" alt="File Transfer Protocol: введение в основы"/></figure>
<p>Если передача по FTP пройдет успешно, клиент выведет на экран соответствующее сообщение. В противном случае обмен документами останавливается. На дисплее возникает характерное сообщение об ошибке. В нем содержится код и короткое пояснение.</p>
<p>Теперь понятно, как работает FTP. Закрыть соответствующее соединение можно при помощи команды $ quit.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B_%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8"></span>Принцип работы авторизации<span class="ez-toc-section-end"></span></h3>
<p>FTP предусматривает несколько способов авторизации: анонимный и «классический» (через логин и пароль). Первый вариант доступен на любом сервере. Он нужен для того, чтобы делать отдельные файлы общедоступными.</p>
<p>Пример – пользователь может выложить картинку на FTP-сервер, разослать ее своим друзьям, но выдать им данные только из анонимного режима. Это поможет скрыть другие документы на сервере от лишних глаз.</p>
<p>Авторизация при анонимном подключении напоминает «классический» вариант. Вместо имени пользователи клиент вводит слово anonymous, а пароль заменяется любым адресом электронной почты или оставляется пустым.</p>
<p>Анонимный режим является рудиментом, оставшимся со времен Unix-систем. Тогда повсеместно использовалась логин-паролевая авторизация, а другие концепции еще не были придуманы.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="FTP-client"></span>FTP-client<span class="ez-toc-section-end"></span></h2>
<p>Для чего нужен FTP-клиент, понятно. Это файловый менеджер. С его помощью можно подключиться к удаленному серверу для дальнейшей передачи данных. При подключении клиента используется следующая информация:</p>
<ul>
<li>пароль;</li>
<li>логин;</li>
<li>имя сервера (хост);</li>
<li>номер порта (по умолчанию для FTP – 21).</li>
</ul>
<p>Если использовать файловый менеджер неудобно, существует альтернатива – загрузка и скачивание файлов за счет удаленного сервера, находящегося прямо в браузере. Для этого используется менеджер в панели управления хостингов TimeWeb. Соответствующая технология называется WebFTP.</p>
<p>Далее будут представлены лучшие клиенты для обмена файлами по FTP. С их помощью рассматриваемый способ передачи информации с легкостью освоит даже начинающий пользователь.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="FileZilla"></span>FileZilla<span class="ez-toc-section-end"></span></h3>
<p>Один из самых популярных файловых менеджеров. Дает возможность удобно и быстро подключаться к удаленным серверам. Предусматривает простой интерфейс, а также понятное управление.</p>
<p>FileZilla имеет два ключевых окна:</p>
<ul>
<li>показывающее файлы и папки на устройстве;</li>
<li>отображающее директорию удаленного сервера.</li>
</ul>
<p>Для перемещения файлов с одного устройства на другое достаточно просто перетащить его из левой области в правую.</p>
<p>FileZilla поддерживает различные функции: передача по VPN, синхронизация в облаке, использование сертификатов TLS и SSL для защищенных соединений.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="CuteFTP"></span>CuteFTP<span class="ez-toc-section-end"></span></h3>
<p>Клиент, напоминающий предыдущий. Отличается тем, что является платным. CuteFTP используется в коммерческой разработке за счет наличия в нем продвинутых функций. В их число входит планирование и синхронизация документов.</p>
<p>Принцип управления в этом FTP-сервисе не отличается от FileZilla. Для передачи документов с одного устройства на другое достаточно перетащить его из левого окна в правое. CuteFTP тоже поддерживает SSL и TLS.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5"></span>Создание<span class="ez-toc-section-end"></span></h2>
<p>Для создания FTP-server в Windows необходимо иметь версию операционной системы Professional, Enterprise или Educational. В домашней сборке придется пользоваться только сторонними приложениями.</p>
<p>Для создания FTP-server в Windows потребуется:</p>
<ol>
<li>Зайти в «Панель управления».</li>
<li>Перейти в раздел «Программы и компоненты».</li>
<li>Выбрать опцию «Включение или отключение элементов Windows».</li>
<li>Поставить отметку у пункта «FTP-сервер».</li>
<li>Найти «Службы IIS»–«Средства управления веб-сайтом». Поставить отметку около «Сценарии и средства управления IIS».</li>
<li>Создать папку на жестком диске устройства. Пусть она размещается на диске C и называется ftp. В ней будут храниться документы для обмена.</li>
<li>Перейти в «Диспетчер служб IIS».</li>
<li>Нажать правой кнопкой мыши по пункту «Сайты», а затем выбрать «Добавить FTP-сайт».</li>
<li>Указать информацию о сервере. В разделе «Физический путь» необходимо указать путь до папки ftp. После заполнения полей – нажать на «Далее».</li>
<li>В разделе «Привязка» ничего изменять не нужно, в «SSL» – «без SSL».</li>
<li>Указать пользователей, которых можно пускать на сервер. Выдать им разрешения.</li>
</ol>
<p>FTP-server создан. Теперь можно получить IP-компьютера, открыть ФТП-клиент или проводник, ввести в адресной строке ftp://[IP-адрес] и подтвердить операцию.</p>
<p><em>P. S. Интересуют компьютерные сети, сетевые технологии, протоколы передачи данных? Обратите внимание на следующие курсы в Otus:</em></p>
<ul>
<li><em><a href="https://otus.ru/lessons/setevoy-inzhener/?utm_source=oj&utm_medium=affilate&utm_campaign=netengine" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external" class="wpel-icon-right">Network engineer<span class="wpel-icon wpel-image wpel-icon-6"></span></a>;</em></li>
<li><em><a href="https://otus.ru/lessons/setevoy-inzhener-basic/?utm_source=oj&utm_medium=affilate&utm_campaign=netengine_basic" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external" class="wpel-icon-right">Network engineer. Basic<span class="wpel-icon wpel-image wpel-icon-6"></span></a>.</em></li>
</ul>
</div><!-- .post-content -->
<div class="the-post-foot cf">
<div class="tag-share cf">
<div class="post-tags"><a href="https://otus.ru/journal/tag/ftp/" rel="tag" data-wpel-link="internal">FTP</a><a href="https://otus.ru/journal/tag/net-2/" rel="tag" data-wpel-link="internal">Net</a><a href="https://otus.ru/journal/tag/seti/" rel="tag" data-wpel-link="internal">сети</a></div>
<div class="post-share">
<div class="post-share-icons cf">
<span class="counters">
</span>
<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fotus.ru%2Fjournal%2Ffile-transfer-protocol-vvedenie-v-osnovy%2F" class="link facebook wpel-icon-right" target="_blank" title="Share on Facebook" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-facebook"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fotus.ru%2Fjournal%2Ffile-transfer-protocol-vvedenie-v-osnovy%2F&text=File%20Transfer%20Protocol%3A%20%D0%B2%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B2%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D1%8B" class="link twitter wpel-icon-right" target="_blank" title="Share on Twitter" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-twitter"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fotus.ru%2Fjournal%2Ffile-transfer-protocol-vvedenie-v-osnovy%2F" class="link linkedin wpel-icon-right" target="_blank" title="LinkedIn" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-linkedin"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fotus.ru%2Fjournal%2Ffile-transfer-protocol-vvedenie-v-osnovy%2F&media=https%3A%2F%2Fotus.ru%2Fjournal%2Fwp-content%2Fuploads%2F2023%2F10%2Foj-1080x720145-1.jpg&description=File%20Transfer%20Protocol%3A%20%D0%B2%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B2%20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D1%8B" class="link pinterest wpel-icon-right" target="_blank" title="Pinterest" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-pinterest-p"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
</div>
</div>
</div>
<div class="post-nav">
<div class="post previous cf">
<a href="https://otus.ru/journal/kak-skachat-python/" title="Prev Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-left"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/kak-skachat-python/" class="image-link" rel="previous" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Как скачать Python" decoding="async" data-srcset="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720144-1-150x106.jpg 150w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720144-1-300x212.jpg 300w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720144-1-1024x724.jpg 1024w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720144-1-768x543.jpg 768w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720144-1-1536x1086.jpg 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720144-1-150x106.jpg" data-sizes="(max-width: 150px) 100vw, 150px" title="Как скачать Python" /> </a>
<div class="post-meta">
<span class="label">Prev Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/kak-skachat-python/" data-wpel-link="internal">Как скачать Python</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/kak-skachat-python/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2023-10-16T20:43:55+00:00">16 октября, 2023</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">3 Mins Read</span>
</div>
</div> </div>
</span>
</div>
<div class="post next cf">
<a href="https://otus.ru/journal/issledovanie-na-uspeshnost-pereuchivaniya-ne-vliyaet-nalichie-vysshego-obrazovaniya/" title="Next Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-right"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/issledovanie-na-uspeshnost-pereuchivaniya-ne-vliyaet-nalichie-vysshego-obrazovaniya/" class="image-link" rel="next" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Исследование: отсутствие высшего образования не влияет на успешность переучивания" decoding="async" data-srcset="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720-kopiya-1-1-150x106.png 150w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720-kopiya-1-1-300x212.png 300w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720-kopiya-1-1-1024x724.png 1024w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720-kopiya-1-1-768x543.png 768w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720-kopiya-1-1-1536x1086.png 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720-kopiya-1-1-150x106.png" data-sizes="(max-width: 150px) 100vw, 150px" title="Исследование: отсутствие высшего образования не влияет на успешность переучивания" /> </a>
<div class="post-meta">
<span class="label">Next Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/issledovanie-na-uspeshnost-pereuchivaniya-ne-vliyaet-nalichie-vysshego-obrazovaniya/" data-wpel-link="internal">Исследование: отсутствие высшего образования не влияет на успешность переучивания</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/issledovanie-na-uspeshnost-pereuchivaniya-ne-vliyaet-nalichie-vysshego-obrazovaniya/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2023-10-17T13:20:55+00:00">17 октября, 2023</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">4 Mins Read</span>
</div>
</div> </div>
</span>
</div>
</div>
<section class="related-posts grid-3">
<h4 class="section-head"><span class="title">Читать ещё</span></h4>
<div class="ts-row posts cf">
<article class="post col-4">
<a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" title="Уровень готовности CTO к 2026" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Уровень готовности CTO к 2026" title="Уровень готовности CTO к 2026" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" class="post-link" data-wpel-link="internal">Уровень готовности CTO к 2026</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-16T19:50:59+00:00">16 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" title="Новые уроки ноября: только топ-темы по программированию" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Новые уроки ноября: только топ-темы по программированию" title="Новые уроки ноября: только топ-темы по программированию" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" class="post-link" data-wpel-link="internal">Новые уроки ноября: только топ-темы по программированию</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-09T23:24:11+00:00">9 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/schjot-idjot-na-chasy/" title="Счёт идёт на часы" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Счёт идёт на часы" title="Счёт идёт на часы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-370x245.png 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/schjot-idjot-na-chasy/" class="post-link" data-wpel-link="internal">Счёт идёт на часы</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-10-30T15:04:59+00:00">30 октября, 2025</time>
</div>
</div>
</article >
</div>
</section>
</article> <!-- .the-post -->
</div>
<aside class="col-4 sidebar">
<div class="inner">
<ul>
<li id="search-2" class="widget widget_search"><h5 class="widget-title"><span>Поиск по блогу</span></h5>
<form method="get" class="search-form" action="https://otus.ru/journal/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Введите запрос и нажмите Enter" value="" name="s" title="Search for:" />
</label>
<button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
</form>
</li>
<li id="tag_cloud-5" class="widget widget_tag_cloud"><h5 class="widget-title"><span>Метки</span></h5><div class="tagcloud"><a href="https://otus.ru/journal/tag/android-2/" class="tag-cloud-link tag-link-74 tag-link-position-1" style="font-size: 12.472222222222pt;" aria-label="Android (34 элемента)" data-wpel-link="internal">Android</a>
<a href="https://otus.ru/journal/tag/c-3/" class="tag-cloud-link tag-link-91 tag-link-position-2" style="font-size: 10.916666666667pt;" aria-label="C (23 элемента)" data-wpel-link="internal">C</a>
<a href="https://otus.ru/journal/tag/c-2/" class="tag-cloud-link tag-link-81 tag-link-position-3" style="font-size: 12.666666666667pt;" aria-label="C# (35 элементов)" data-wpel-link="internal">C#</a>
<a href="https://otus.ru/journal/tag/c/" class="tag-cloud-link tag-link-20 tag-link-position-4" style="font-size: 12.472222222222pt;" aria-label="c++ (34 элемента)" data-wpel-link="internal">c++</a>
<a href="https://otus.ru/journal/tag/computer-science/" class="tag-cloud-link tag-link-209 tag-link-position-5" style="font-size: 15.972222222222pt;" aria-label="computer science (78 элементов)" data-wpel-link="internal">computer science</a>
<a href="https://otus.ru/journal/tag/css/" class="tag-cloud-link tag-link-288 tag-link-position-6" style="font-size: 8.6805555555556pt;" aria-label="CSS (13 элементов)" data-wpel-link="internal">CSS</a>
<a href="https://otus.ru/journal/tag/data-science/" class="tag-cloud-link tag-link-151 tag-link-position-7" style="font-size: 8pt;" aria-label="Data Science (11 элементов)" data-wpel-link="internal">Data Science</a>
<a href="https://otus.ru/journal/tag/devops/" class="tag-cloud-link tag-link-98 tag-link-position-8" style="font-size: 10.138888888889pt;" aria-label="devops (19 элементов)" data-wpel-link="internal">devops</a>
<a href="https://otus.ru/journal/tag/docker/" class="tag-cloud-link tag-link-143 tag-link-position-9" style="font-size: 8.2916666666667pt;" aria-label="Docker (12 элементов)" data-wpel-link="internal">Docker</a>
<a href="https://otus.ru/journal/tag/gamedev/" class="tag-cloud-link tag-link-25 tag-link-position-10" style="font-size: 11.694444444444pt;" aria-label="gamedev (28 элементов)" data-wpel-link="internal">gamedev</a>
<a href="https://otus.ru/journal/tag/hr/" class="tag-cloud-link tag-link-103 tag-link-position-11" style="font-size: 8pt;" aria-label="hr (11 элементов)" data-wpel-link="internal">hr</a>
<a href="https://otus.ru/journal/tag/html/" class="tag-cloud-link tag-link-217 tag-link-position-12" style="font-size: 11.208333333333pt;" aria-label="HTML (25 элементов)" data-wpel-link="internal">HTML</a>
<a href="https://otus.ru/journal/tag/ios/" class="tag-cloud-link tag-link-101 tag-link-position-13" style="font-size: 8.9722222222222pt;" aria-label="iOS (14 элементов)" data-wpel-link="internal">iOS</a>
<a href="https://otus.ru/journal/tag/it/" class="tag-cloud-link tag-link-50 tag-link-position-14" style="font-size: 10.527777777778pt;" aria-label="IT (21 элемент)" data-wpel-link="internal">IT</a>
<a href="https://otus.ru/journal/tag/java/" class="tag-cloud-link tag-link-75 tag-link-position-15" style="font-size: 15.680555555556pt;" aria-label="Java (73 элемента)" data-wpel-link="internal">Java</a>
<a href="https://otus.ru/journal/tag/javascript/" class="tag-cloud-link tag-link-83 tag-link-position-16" style="font-size: 14.319444444444pt;" aria-label="JavaScript (53 элемента)" data-wpel-link="internal">JavaScript</a>
<a href="https://otus.ru/journal/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-17" style="font-size: 11.888888888889pt;" aria-label="Linux (29 элементов)" data-wpel-link="internal">Linux</a>
<a href="https://otus.ru/journal/tag/machine-learning/" class="tag-cloud-link tag-link-167 tag-link-position-18" style="font-size: 8.6805555555556pt;" aria-label="Machine Learning (13 элементов)" data-wpel-link="internal">Machine Learning</a>
<a href="https://otus.ru/journal/tag/otus-book/" class="tag-cloud-link tag-link-261 tag-link-position-19" style="font-size: 9.9444444444444pt;" aria-label="otus book (18 элементов)" data-wpel-link="internal">otus book</a>
<a href="https://otus.ru/journal/tag/php/" class="tag-cloud-link tag-link-45 tag-link-position-20" style="font-size: 10.527777777778pt;" aria-label="PHP (21 элемент)" data-wpel-link="internal">PHP</a>
<a href="https://otus.ru/journal/tag/python/" class="tag-cloud-link tag-link-27 tag-link-position-21" style="font-size: 16.944444444444pt;" aria-label="Python (99 элементов)" data-wpel-link="internal">Python</a>
<a href="https://otus.ru/journal/tag/qa/" class="tag-cloud-link tag-link-155 tag-link-position-22" style="font-size: 11.402777777778pt;" aria-label="qa (26 элементов)" data-wpel-link="internal">qa</a>
<a href="https://otus.ru/journal/tag/sql/" class="tag-cloud-link tag-link-38 tag-link-position-23" style="font-size: 12.861111111111pt;" aria-label="SQL (37 элементов)" data-wpel-link="internal">SQL</a>
<a href="https://otus.ru/journal/tag/team-lead/" class="tag-cloud-link tag-link-364 tag-link-position-24" style="font-size: 9.9444444444444pt;" aria-label="team lead (18 элементов)" data-wpel-link="internal">team lead</a>
<a href="https://otus.ru/journal/tag/unity/" class="tag-cloud-link tag-link-24 tag-link-position-25" style="font-size: 8pt;" aria-label="unity (11 элементов)" data-wpel-link="internal">unity</a>
<a href="https://otus.ru/journal/tag/algoritmy/" class="tag-cloud-link tag-link-30 tag-link-position-26" style="font-size: 9.9444444444444pt;" aria-label="Алгоритмы (18 элементов)" data-wpel-link="internal">Алгоритмы</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh/" class="tag-cloud-link tag-link-40 tag-link-position-27" style="font-size: 10.138888888889pt;" aria-label="Базы данных (19 элементов)" data-wpel-link="internal">Базы данных</a>
<a href="https://otus.ru/journal/tag/matematika/" class="tag-cloud-link tag-link-44 tag-link-position-28" style="font-size: 10.916666666667pt;" aria-label="Математика (23 элемента)" data-wpel-link="internal">Математика</a>
<a href="https://otus.ru/journal/tag/arhitektura-po/" class="tag-cloud-link tag-link-10 tag-link-position-29" style="font-size: 9.4583333333333pt;" aria-label="архитектура ПО (16 элементов)" data-wpel-link="internal">архитектура ПО</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh-2/" class="tag-cloud-link tag-link-251 tag-link-position-30" style="font-size: 10.138888888889pt;" aria-label="базы данных (19 элементов)" data-wpel-link="internal">базы данных</a>
<a href="https://otus.ru/journal/tag/vebinar/" class="tag-cloud-link tag-link-201 tag-link-position-31" style="font-size: 13.930555555556pt;" aria-label="вебинар (48 элементов)" data-wpel-link="internal">вебинар</a>
<a href="https://otus.ru/journal/tag/dajdzhest/" class="tag-cloud-link tag-link-308 tag-link-position-32" style="font-size: 10.722222222222pt;" aria-label="дайджест (22 элемента)" data-wpel-link="internal">дайджест</a>
<a href="https://otus.ru/journal/tag/zapis-vebinara/" class="tag-cloud-link tag-link-226 tag-link-position-33" style="font-size: 14.902777777778pt;" aria-label="запись вебинара (61 элемент)" data-wpel-link="internal">запись вебинара</a>
<a href="https://otus.ru/journal/tag/zapis-uroka/" class="tag-cloud-link tag-link-272 tag-link-position-34" style="font-size: 16.069444444444pt;" aria-label="запись урока (80 элементов)" data-wpel-link="internal">запись урока</a>
<a href="https://otus.ru/journal/tag/informacionnaya-bezopasnost/" class="tag-cloud-link tag-link-232 tag-link-position-35" style="font-size: 10.138888888889pt;" aria-label="информационная безопасность (19 элементов)" data-wpel-link="internal">информационная безопасность</a>
<a href="https://otus.ru/journal/tag/karera-v-it/" class="tag-cloud-link tag-link-292 tag-link-position-36" style="font-size: 9.9444444444444pt;" aria-label="карьера в IT (18 элементов)" data-wpel-link="internal">карьера в IT</a>
<a href="https://otus.ru/journal/tag/podborka/" class="tag-cloud-link tag-link-7 tag-link-position-37" style="font-size: 12.666666666667pt;" aria-label="подборка (35 элементов)" data-wpel-link="internal">подборка</a>
<a href="https://otus.ru/journal/tag/podborka-statej/" class="tag-cloud-link tag-link-219 tag-link-position-38" style="font-size: 15.777777777778pt;" aria-label="подборка статей (75 элементов)" data-wpel-link="internal">подборка статей</a>
<a href="https://otus.ru/journal/tag/programmirovanie/" class="tag-cloud-link tag-link-65 tag-link-position-39" style="font-size: 22pt;" aria-label="программирование (332 элемента)" data-wpel-link="internal">программирование</a>
<a href="https://otus.ru/journal/tag/proekt/" class="tag-cloud-link tag-link-321 tag-link-position-40" style="font-size: 11.888888888889pt;" aria-label="проект (29 элементов)" data-wpel-link="internal">проект</a>
<a href="https://otus.ru/journal/tag/proektnaya-rabota/" class="tag-cloud-link tag-link-310 tag-link-position-41" style="font-size: 11.597222222222pt;" aria-label="проектная работа (27 элементов)" data-wpel-link="internal">проектная работа</a>
<a href="https://otus.ru/journal/tag/seti/" class="tag-cloud-link tag-link-181 tag-link-position-42" style="font-size: 12.958333333333pt;" aria-label="сети (38 элементов)" data-wpel-link="internal">сети</a>
<a href="https://otus.ru/journal/tag/testirovanie/" class="tag-cloud-link tag-link-69 tag-link-position-43" style="font-size: 13.930555555556pt;" aria-label="тестирование (48 элементов)" data-wpel-link="internal">тестирование</a>
<a href="https://otus.ru/journal/tag/upravlenie-komandoj/" class="tag-cloud-link tag-link-63 tag-link-position-44" style="font-size: 11.694444444444pt;" aria-label="управление командой (28 элементов)" data-wpel-link="internal">управление командой</a>
<a href="https://otus.ru/journal/tag/habr-2/" class="tag-cloud-link tag-link-203 tag-link-position-45" style="font-size: 13.930555555556pt;" aria-label="хабр (48 элементов)" data-wpel-link="internal">хабр</a></div>
</li>
</ul>
</div>
</aside>
</div> <!-- .ts-row -->
</div> <!-- .main -->
<footer class="main-footer dark bold">
<section class="lower-footer cf">
<div class="wrap">
<div class="links">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
<p class="copyright"> © 2015-2026 OTUS </p>
<div class="to-top">
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i> Top</a>
</div>
</div>
</section>
</footer>
</div> <!-- .main-wrap -->
<div class="mobile-menu-container off-canvas" id="mobile-menu">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<div class="logo">
</div>
<ul class="mobile-menu"></ul>
</div>
<div class="search-modal-wrap">
<div class="search-modal-box" role="dialog" aria-modal="true">
<form method="get" class="search-form" action="https://otus.ru/journal/">
<input type="search" class="search-field" name="s" placeholder="Search..." value="" required />
<button type="submit" class="search-submit visuallyhidden">Submit</button>
<p class="message">
Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel. </p>
</form>
</div>
</div>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/js/url-span.js" id="wbcr-comments-plus-url-span-js"></script>
<script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra">
/* <![CDATA[ */
var eztoc_smooth_local = {"scroll_offset":"30"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js" id="ez-toc-scroll-scriptjs-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js" id="ez-toc-js-cookie-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js" id="ez-toc-jquery-sticky-kit-js"></script>
<script type="text/javascript" id="ez-toc-js-js-extra">
/* <![CDATA[ */
var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js" id="ez-toc-js-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/custom-script.js" id="custom-script-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/magnific-popup.js" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.fitvids.js" id="jquery-fitvids-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/imagesloaded.min.js" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/object-fit-images.js" id="object-fit-images-js"></script>
<script type="text/javascript" id="contentberg-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"custom_ajax_url":"\/journal\/file-transfer-protocol-vvedenie-v-osnovy\/"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theme.js" id="contentberg-theme-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theia-sticky-sidebar.js" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.slick.js" id="jquery-slick-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jarallax.js" id="jarallax-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/masonry.min.js" id="masonry-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.masonry.min.js" id="jquery-masonry-js"></script>
</body>
</html>
<!-- Cache served by breeze CACHE - Last modified: Tue, 10 Mar 2026 19:55:05 GMT -->