Summary
- RFC 775 описал четыре экспериментальные команды FTP, с помощью которых BBN создавала, удаляла и обходила каталоги при удалённом обслуживании машин.
- Сервер должен был вернуть пригодный абсолютный путь нового каталога: короткое имя из команды создания на TOPS-20 могло не подойти для последующего входа.
Создать каталог, а через мгновение не суметь в него войти — для компьютера это почти комический номер. В RFC 775 он изложен как рабочая неисправность: XMKD MYDIR на TOPS-20 выполняется, после чего XCWD MYDIR может не сработать. Каталог есть. Просто обращаться к нему нужно как к <DFRANKLIN.MYDIR>.
BBN занималась установкой и сопровождением программ на нескольких DEC PDP-11 под UNIX в рамках проекта удалённого обслуживания объектов ARPA. Переслать набор файлов недостаточно, если на принимающей машине нужно воссоздать дерево их каталогов. Инженеры расширили FTP-серверы четырьмя командами. XMKD создаёт каталог, XRMD удаляет, XPWD сообщает текущее местоположение, XCUP поднимает к родителю. Последняя команда особенно удобна там, где обозначение родительского каталога зависит от операционной системы.
На сети были и другие машины с древовидными файловыми системами: TOPS-20 и Multics. Их правила записи путей не совпадали с UNIX. Клиент мог находиться в <DFRANKLIN> и отправить XMKD MYDIR. Смысл запроса понятен: создать дочерний каталог. Сервер создавал <DFRANKLIN.MYDIR>, но MYDIR само по себе не обязательно становилось допустимым именем для команды перехода. Входной аргумент и адрес результата — разные вещи.
RFC 775 предложил положить адрес в ответ на успешное создание. Строка с кодом 257 должна содержать абсолютное имя в кавычках. Для UNIX документ показывает 257 "/usr/dm/child" directory created; для TOPS-20 требуется его собственная форма. Если в имени есть кавычка, в ответе она удваивается. Такая мелочь спасает автоматический разбор строки: программа получает весь путь, а не обрывок до неожиданного символа.
Чтобы перенести дерево, клиенту надо создать ветвь, запомнить возвращённый адрес, войти в неё, разместить файлы и снова подняться к родителю. Если он вычисляет имя из привычек своей машины, операция создания может быть безупречной, а все последующие действия — потерять точку назначения. Это не ошибка доставки байтов. Это ошибка в разговоре о том, куда их класть.
На случай уже существующего каталога BBN показала ответ об ошибке 521 без повторного действия. Таблица в RFC отдельно приводит коды старого работающего FTP и предлагаемые соответствия для более нового протокола RFC 765. Новым кодом в старом наборе был 257; для нового набора предлагался 251. Свести оба к одному «вечному» номеру значило бы потерять историю перехода.
RFC 765 обещал ограждать пользователя от различий файловых систем, но прямо признавал, что общего правила записи путей ещё нет. RFC 775 закрыл часть пробела деловым способом: пусть узел, на котором создан каталог, сообщает его действительное имя. В RFC 959 1985 года появились новые необязательные MKD, RMD, PWD и CDUP без экспериментальной буквы X. Проблема оказалась долговечнее её префикса: файл можно перевезти, но сначала нужно точно знать адрес его комнаты.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров





