textsection 1 of 10 of file FidoURL.rus.txt
textbegin.all
**********************************************************************
FGHI FIDONET GLOBAL HYPERTEXT INTERCHANGE
**********************************************************************
Статус: черновик
Номер редакции: 0.3
Заглавие: FGHI URL, средства Единоформной Адресации Ресурсов
для фидонетовских объектов и служб
Автор: Mithgol the Webmaster (Sergey Sokoloff, 2:5063/88)
Спасибо за помощь: Shannar (Boris Kassal, 2:463/587)
Trooper (Alexey Bezugly, 2:5030/1520.9)
NoSFeRaTU (Konstantin Kuzov, 2:5019/40.1)
Дата редакции: 10 Feb 2007
-+--------------------------------------------------------------------
Содержание:
1. Статус этого документа
2. Введение
3. Ключевые слова для выражения уровней требуемости
4. Список изменений этого документа
5. Общий синтаксис URL-адресов Фидонета
5.1. Главные части URLов
5.1.1. Примечание о соответствии
5.1.2. Руководство по употреблению отделителей
5.2. Кодирование символов в URLах
5.2.1. Кодирование изначальных символов
5.2.2. Кодирование октетов
5.2.2.1. Нет соответствующего 7-битного видимого символа
5.2.2.2. Небезопасные символы
5.2.2.3. Зарезервированные символы
5.2.2.4. Плюс ("+") и кодирование пробелов
5.2.2.4.1. Примечание об особенности
5.2.2.4.2. Примечание об интернетовском обычае
5.3. Разбор части URLа, особенной для каждой из схем
5.3.1. Обработка неуместных зарезервированных символов
6. Схемы URLов Фидонета, означающих действия
6.1. Схема "netmail:"
6.1.1. Необязательный параметр "to"
6.1.2. Необязательный параметр "subject"
6.1.3. Необязательный параметр "subj"
6.1.4. Необязательный параметр "from"
6.1.5. Необязательный параметр "body"
6.2. Схема "areafix:"
6.2.1. Необязательный параметр "uplink"
6.2.2. Необязательные параметры "unsubscribe" и "leave"
6.2.3. Будущие необязательные параметры
6.2.4. Относительные URLы "areafix:"
6.3. Схема "echomail:"
6.3.1. Необязательный параметр "to"
6.3.2. Необязательный параметр "subject"
6.3.3. Необязательный параметр "subj"
6.3.4. Необязательный параметр "from"
6.3.5. Необязательный параметр "body"
7. Схемы URLов Фидонета, означающих объекты
7.1. Часть адреса <путь-объекта>. Возможные формы пути
7.1.1. Предшествующая косая черта и завершающая косая черта
7.1.2. Обработка неизвестных контейнеров
7.2. Схема "area://"
7.2.1. Необязательные параметры, идентифицирующие сообщения
7.2.1.1. Необязательный параметр "msgid"
7.2.1.2. Необязательный параметр "mid"
7.2.1.3. Необязательный параметр "from"
7.2.1.4. Необязательный параметр "find"
7.2.1.5. Будущие необязательные идентифицирующие параметры
7.2.2. Закодированные объекты внутри эхопочтовых сообщений
7.2.2.1. Имена кодированных объектов
7.2.2.2. Как определяется означенный объект
7.2.2.2.1. Возможные приложения
7.2.3. Регулярные выражения
7.2.4. Управление видимостью кладжей и скрытых строк
7.2.4.1. Необязательный параметр "kl"
7.3. Схема "faqserv://"
7.3.1. Необязательный параметр "bot"
7.3.2. Будущие необязательные параметры
7.4. Схема "fecho://"
7.5. Схема "freq://"
7.5.1. Будущие необязательные параметры
-+--------------------------------------------------------------------
1. Статус этого документа
-+-----------------------
Этот документ является переводом на русский язык, соответствующим
черновику Предлагаемого Фидонетовского Стандарта (FSP).
Оригинал этого документа описывает необязательный фидонетовский
стандарт, который может использоваться как фидошным сообществом,
так и в Паутине, и призывает к обсуждению и предложению доработок.
Реализация протоколов, определённых в этом документе, не является
необходимою; но ожидается, что все реализации этих протоколов будут
соответствовать данному стандарту.
Распространение этого документа не ограничивается, если в его текст
при распространении не будут внесены изменения, не упомянутые явно.
2. Введение
-+---------
В этом документе определяется несколько фидонетовских схем для
Единоформной Адресации Ресурсов -- для записи URL-адресов, которыми
обеспечивается единообразно оформленная информация о местонахождении
и о способах доступа к ресурсам и службам через Фидонет.
Определение их спланировано с тем расчётом, чтобы соответствовать
спецификациям RFC 1738; и оттого гиперссылки, заданные по указаниям
данного документа, могут использоваться как в Фидонете (в эхопочте,
в нетмейле), так и в традиционном HTML-гипертексте в рамках Паутины
и интернетовского e-mail.
Помимо самостоятельного предназначения, этот документ также послужит
первой и наиболее основной частью FGHI (произносится 'фигхай'; это
сокращение слов 'Fidonet Global Hypertext Interchange', означающих
фидонетовский глобальный гипертекстовый обмен), целью которого будет
гипертекстовая автоматизация некоторых покуда ручных операций Фидо,
доставка и просмотр HTML-подобного иллюстрированного гипермедиа по
традиционным каналам эхомейловых и нетмейловых текстовых соединений,
а также, возможно, некоторые другие элементы гипертекстового Фидо.
3. Ключевые слова для выражения уровней требуемости
-+-------------------------------------------------
Ключевые слова "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" и
"OPTIONAL" в оригинале этого документа имеют смысл, соответствующий
описаниям в стандарте FTA-1006 (основанном на RFC 2119).
В этом русском переводе используются следующие ключевые выражения:
"MUST" : "ДОЛЖЕН", "НАДО"
"MUST NOT" : "НЕ ДОЛЖЕН"
"REQUIRED" : "НЕОБХОДИМЫЙ", "ТРЕБУЕМЫЙ", "ТРЕБУЕТСЯ"
"SHOULD" : "НАДОБНО", "СЛЕДУЕТ"
"SHOULD NOT" : "НЕ СЛЕДУЕТ"
"RECOMMENDED" : "РЕКОМЕНДУЕМЫЙ", "РЕКОМЕНДУЕТСЯ"
"MAY" : "МОЖЕТ", "МОЖНО"
"OPTIONAL" : "НЕОБЯЗАТЕЛЬНЫЙ"
4. Список изменений этого документа
-+---------------------------------
В версии 0.3: [10 Feb 2007]
*) начат этот список изменений
*) добавлен подраздел 7.2.1.3 (Необязательный параметр "from")
*) добавлен подраздел 7.2.1.4 (Необязательный параметр "find")
*) отредактирован обрамляющий подраздел 7.2, чтоб отразить тот факт,
что теперь можно идентифицировать несколько сообщений, не только
одно сообщение
*) отредактирован подраздел 7.2.1.5, чтоб отразить тот факт, что
сообщения уже можно искать при помощи регулярных выражений
*) добавлено спасибо за помощь NoSFeRaTU
*) отредактирован подраздел 5.2.2.4.2, упомянут RFC 1630
*) отредактирован список примеров в разделе 5
*) добавлен подраздел 7.2.3 (Регулярные выражения)
*) добавлен подраздел 7.2.4 (Управление видимостью кладжей
и скрытых строк)
*) отредактирован подраздел 5.2.2.2, слово "Origin" теперь
не является небезопасным
*) отредактирован подраздел 7.5.1, чтоб отразить тот факт, что
ответы на запросы могут задерживаться
5. Общий синтаксис URL-адресов Фидонета
-+-------------------------------------
Так как существует много различных типов фидонетовских объектов
и служб, то несколько схем URL созданы для описания местонахождения
этих ресурсов.
Обобщённый синтаксис URLов обеспечивает каркас, на основе которого
могут описываться новые схемы -- в том числе и с применением других
протоколов, в данном документе не описанных.
URLы используются для определения местонахождения ресурсов, так как
любой URL содержит абстрактный идентификатор такого местонахождения.
Определив местонахождение ресурса, фидонетовская система может с ним
произвести любую необходимую операцию из числа доступных системе (их
мы можем перечислять с использованием таких терминов, как 'получить
доступ', 'подписаться', 'отписаться', 'послать', 'запросить',
'показать атрибуты').
textend.section
Ceterum censeo Diptaunum esse delendam! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Team В эхолисте ,,ё`` уместим] [Team А я меняю subj]
... Сдирание кожи с живого человека издавна практиковалось на Ближнем Востоке.
textsection 3 of 10 of file FidoURL.rus.txt
textbegin.section
5.2.2.3. Зарезервированные символы
-+--------------------------------
Многие схемы URL резервируют некоторые символы для специальных
целей: придаётся определённый смысл появлению таких символов
в той части URL, разбор которой зависит от конкретной схемы
(в части <особая-часть> после имени схемы).
Обычно URL означает одно и то же и в том случае, когда октет
представлен символом, и когда октет закодирован. Однако это
не так для зарезервированных символов: кодирование символа,
зарезервированного для некоторой схемы, может принести вред
смысловому значению URLа, если символ использован в согласии
с определённым для него смыслом. И наоборот.
Символ "?" используется как разделитель между необходимой и
необязательной частью URLа. Сам разделитель НЕ ДОЛЖЕН быть
закодирован. Если символ "?" появляется в любой другой части
URLа, он ДОЛЖЕН быть закодирован, чтобы его нельзя было
перепутать с разделителем.
Символ "=" используется как разделитель между именем параметра
и его значением. Сами разделители НЕ ДОЛЖНЫ быть закодированы.
Если символ "=" появляется в любой другой части URLа, тогда он
ДОЛЖЕН быть закодирован, чтобы его нельзя было перепутать
ни с одним из разделителей.
Символ "&" используется как разделитель между парами
"параметр=значение". Сами разделители НЕ ДОЛЖНЫ кодироваться.
Если символ "&" появляется в любой другой части URLа, тогда он
ДОЛЖЕН быть закодирован, чтобы его нельзя было перепутать
ни с одним из разделителей.
Символ "/" зависит от схемы:
*) В некоторых схемах ("netmail:", к примеру) символ "/" имеет
свой собственный (буквальный) смысл, поскольку он широко
используется как часть стандартной фидонетовской записи
адресов <zone>:<net>/<node>.<point> (см. подробности
в FSP-1004).
*) В некоторых других схемах символ "/" зарезервирован для
использования в пути к файлу
(<directory>/<directory>/...<directory>/<filename>),
и соответствующий ему октет (2F шестн.) ДОЛЖЕН быть
закодирован, если не разделяет части пути.
См. подробности далее (в разделах, относящихся к схемам).
5.2.2.4. Плюс ("+") и кодирование пробелов
-+----------------------------------------
Пробелы (октеты 20 шестн.) являются наиболее распространёнными
небезопасными символами Фидонета, и оттого играют значительную
роль в тех частях URLов, чьё понимание зависит от схемы:
пробелы появляются в кладжах MSGID, используются в качестве
разделителей между словами в текстовых строках, и так далее.
Чтобы улучшить человекочитаемость фидонетовских URLов, и чтобы
сделать URLы короче, может использоваться новый более краткий
синоним шестнадцатиричной тройки "%20". Это плюс ("+").
Программы, воспринимающие ту часть URLа, понимание которой
зависит от конкретной схемы (это <особенная-часть>), ДОЛЖНЫ
воспринимать там символ плюса ("+") как эквивалентный тройке
символов, шестнадцатирично кодирующих пробел ("%20").
В силу этого обстоятельства, сам символ плюса является
зарезервированным, и соответствующий ему октет (2B шестн.)
ДОЛЖЕН быть закодирован, если содержится в <особенная-часть>.
5.2.2.4.1. Примечание об особенности
-+----------------------------------
Правило об эквивалентности между "+" и "%20" не применяется
вне той части URLа, толкование которой зависит от схемы
(<особенная-часть>); символ плюса не имеет специального
значения в имени самой схемы, поскольку в имени схемы пробел
не допускается.
5.2.2.4.2. Примечание об интернетовском обычае
-+--------------------------------------------
То же сокращение адресов уже происходит в Интернете. Открыв
адрес http://www.google.ru/search?q=Fidonet+URL, вы получите
гугловый поиск по словам "Fidonet URL" (а не "Fidonet+URL");
адрес http://www.google.ru/search?hl=ru&q=Fidonet%2BURL
понадобится, если вы ищете по "Fidonet+URL".
Этот обычай не документирован в RFC 1738. Он, однако,
документирован в RFC 1630.
5.3. Разбор части URLа, особенной для каждой из схем
-+--------------------------------------------------
Как было объявлено выше, фидонетовские URLы записываются
следующим образом:
<схема><отделитель><особая-часть>
где отделителем служит либо ":", либо "://".
В части <особая-часть> зарезервированный символ "?" служит
в качестве разделителя между необходимой и необязательной
частью URLа:
<схема><отделитель><нужная-часть>?<необязательная-часть>
Необходимая часть ТРЕБУЕТСЯ. Необязательная часть МОЖЕТ быть
пустою; если необязательная часть пуста, то символ "?" перед ней
МОЖЕТ быть убран также. Если необязательная часть пуста, но символ
"?" присутствует, то символ "?" НАДО игнорировать.
Если необязательная часть не пуста, то она состоит из одного (или
более) равенств "параметр=значение", разделённых зарезервированным
символом "&" следующим образом:
<равенство1>&<равенство2>&<равенство3>& ... &<равенствоN>
Однако, необязательная часть МОЖЕТ оканчиваться символом "&",
расположенным на конце URLа следующим образом:
<равенство1>&<равенство2>&<равенство3>& ... &<равенствоN>&
(в этом случае последний символ "&" НАДО игнорировать).
Ожидается, что каждое из этих равенств принимает форму
"параметр=значение":
<имя параметра>=<присваемое ему значение>
Если значение не приводится, то соответствующему параметру
присваивается пустое значение. В этом случае символ "=" также
МОЖЕТ быть убран. Пример такой необязательной части URLа:
subj=Test&path=&subscribe&to=Test+Robot
В этом примере параметры "path" и "subscribe" становятся пустыми,
параметр "subj" становится равным значению "Test", а параметр "to"
принимает значение "Test Robot" (поскольку "+" представляет символ
пробела, см. соответствующий подраздел выше).
Параметры, указываемые в необязательной части URLа, также по своей
природе не являются обязательными. Если некоторый параметр вообще
не указан в конкретном URLе, то принимает значение по умолчанию;
а значения по умолчанию для большинства необязательных параметров
приводятся ниже, где перечислены схемы URLов.
Пары "параметр=значение" МОГУТ появляться в необязательной части
URLа в произвольном порядке.
Например, вот такая необязательная часть URLа:
to=Test+Robot&path=&subj=Test&subscribe
является эквивалентной предыдущему примеру.
textend.section
Ceterum censeo Diptaunum esse delendam! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Team В эхолисте ,,ё`` уместим] [Team А я меняю subj]
... Кому-то и Hовый год часто :) (Mitry Matyushkov в R50.Sysop)
textsection 6 of 10 of file FidoURL.rus.txt
textbegin.section
6.3.5. Необязательный параметр "body"
-+-----------------------------------
Значением необязательного параметра "body" бывает означено тело
(основная часть) составляемой эхопочты. (По умолчанию значение
является пустым.) Программа, составляющая письмо, МОЖЕТ обернуть
значение параметра "body" элементами составленного пользователем
шаблона сообщений (использовать определённую пользователем
подпись, приветствие и т. д.)
Примеры:
echomail:Ru.FTN.Develop?subj=FGHI&body=Fidonet+2.0+approached
echomail:400.Link?subj=Interface&body=A+much+better+option%3F
echomail:GSS.ParToss?body=Will+it+ever+toss+JAM%3F&subj=Hopes
7. Схемы URLов Фидонета, означающих объекты
-+-----------------------------------------
Схемы URLов, ниже перечисляемые, означают именованные объекты,
к которым можно получить доступ, прочесть их, просмотреть и т. д.
В соответствии с вышележащим разделом-руководством по употреблению
отделителей, тройку символов "://" (а не символ ":") СЛЕДУЕТ
использовать как отделитель после части <схема> этих URLов.
7.1. Часть адреса <путь-объекта>. Возможные формы пути
-+----------------------------------------------------
Иногда Фидонет считают только текстовой сетью. По меньшей мере,
Фидонет известен своими весьма невеликими средствами передачи
двоичных данных. Аудитория файлэх совсем не сравнима с той,
которая пользуется традиционными эхообластями; файловые запросы
и аттачи практически никогда не роутятся меж узлами. В этих
несколько суровых обстоятельствах, однако, существуют некоторые
средства кодирования и внедрения двоичных данных внутрь текстовых
сообщений. Файлы (и иногда целые директории файлов) упаковываются
ради сокращения траффика; некоторые из получающихся архивов
кодируются текстовыми строками, которые отсылаются при посредстве
чисто текстовых средств коммуникации -- эхопочтою, нетмейлом.
Вот поэтому всем перечисленным ниже схемам фидонетовских URLов
необходим какой-либо общий метод указать, при необходимости, на
объект внутри упакованных (архивных) файлов и (или) внедрённый
в некоторый текст. В их URLах <нужная-часть> всегда оканчивается
на "/<путь-объекта>", и оттого URLы записываются таким образом:
<схема>://<нужная-основа>/<путь-объекта>?<необязательная-часть>
Символ "/" всегда имеет зарезервированный смысл в части URLа
<путь-объекта>; этот символ играет роль разделителя между частями
пути.
Часть <путь-объекта> в URLах принимает одну из следующих форм:
<имя-объекта>
Если <путь-объекта> содержит просто имя некоторого объекта,
то URLом означен именно этот объект. Сам же объект внедрён
или содержится внутри ресурса, определённого остатком URLа:
<схема>://<нужная-основа>?<необязательная-часть>
<имя-объекта>/
Названный по имени объект сам является контейнером (например,
упакованным архивом). URLом означен корневой каталог этого
контейнера.
<имя-объекта>/<надобный-объект>
Объект <имя-объекта> является контейнером (например,
упакованным архивом), чей корневой каталог содержит
<надобный-объект>; URLом означен этот <надобный-объект>.
Если <надобный-объект> является каталогом (то есть не файлом),
то <путь-объекта> эквивалентен своей следующей форме,
<имя-объекта>/<надобный-объект>/
<имя-объекта>/<надобный-объект>/
Объект <надобный-объект> внутри объекта <имя-объекта> либо сам
является контейнером (например, файлом упакованного архива),
либо это подкаталог внутри контейнера <имя-объекта>.
URLом означено содержимое контейнера или каталога
<надобный-объект>. (Если <надобный-объект> является
контейнером с подкаталогами, то URLом означено содержимое
его корневого каталога.)
<имя-объекта>/<элем1>/<элем2>/.../<элемN>/<надобный-объект>
или
<имя-объекта>/<элем1>/<элем2>/.../<элемN>/<надобный-объект>/
Объект <имя-объекта> содержит иерархию глубиною в N элементов,
они являются либо подкаталогами, либо объектами-контейнерами
(упакованными архивными файлами, к примеру). Необходимо войти
в эти контейнеры и углубиться в каталоги, один за другим,
в указанном порядке. Наивнутренний из них содержит объект
<надобный-объект>. URLом означен либо сам этот объект (если
нет финальной косой черты и <надобный-объект> не является
подкаталогом) или его содержимое (если <надобный-объект>
является подкаталогом, то означенным является содержимое
этого каталога; в противном случае <надобный-объект>/
означает корневой каталог объекта <надобный-объект>).
7.1.1. Предшествующая косая черта и завершающая косая черта
-+---------------------------------------------------------
Предшествующая косая черта перед путём к объекту служит лишь
в качестве разделителя между двумя частями URLа (<нужная-основа>
и <путь-объекта>). Если часть <путь-объекта> пуста в URLе, тогда
предшествующая ей косая черта ДОЛЖНА игнорироваться программою,
воспринимающей URL. Если часть <путь-объекта> пуста в URLе, то
предшествующая ей косая черта МОЖЕТ быть убрана автором этого
URLа, и тем самым являются эквивалентными два следующих URLа:
<схема>://<нужная-основа>/?<необязательная-часть>
<схема>://<нужная-основа>?<необязательная-часть>
Однако завершающая косая черта в пути к объекту имеет своё
значение, создаёт некоторую действительную разницу. Например,
"example.zip" означает сам архив (файл, который можно сохранить
или переслать, и т. п.), а "example.zip/" означает корневой
каталог этого архива (контейнер, который можно проглядеть,
обновить, и т. п.)
Завершающая косая черта после пути к объекту НЕ ДОЛЖНА быть
проигнорирована.
7.1.2. Обработка неизвестных контейнеров
-+--------------------------------------
Подчас <путь-объекта> указывает на объект внутри такого
контейнера, который некоторым фидонетовским браузерам
не под силу открыть самостоятельно. Это МОЖЕТ случиться,
когда формат архива неизвестен (или известен, но новее, нежели
поддерживаемая его версия).
Если объект этот запрошен как самостоятельная сущность (скажем,
если его URL введён в адресной строке фидонетовского браузера,
или если пользователь перешёл по такой гиперссылке, где этот URL
указан), то браузер МОЖЕТ осведомить пользователя о неведомом
повстречавшемся контейнере, и предложить сохранение контейнера
для возможного анализа вручную (в конце концов, пользователь
может располагать такими средствами распаковки, которые ещё
не были интегрированы в фидонетовский браузер, и может желать
опробовать их).
Если запрошенный объект не является самостоятельной сущностью
(например, если это всего лишь одно из изображений на странице
гипертекста), если много таких объектов запрашиваются в одно и
то же время с одной и той же целью, тогда не было бы мудро
утопить пользователя потоком сведений о каждом из таких,
одновременно наблюдающихся, препятствий; и потому браузеру
НАДОБНО следовать своим стандартным процедурам, предусмотренным
на случай ошибки (показать значок "разбитой картинки", или
использовать альтернативный объект, или альтернативный текст,
если он приведён).
7.2. Схема "area://"
-+------------------
Эхопочта является важной и мощной силою в Фидонете. Эхопочта, по
определению, является широковещательной средою. См. спецификации
эхопочты в FTS-0004.
Эхопочтовою областью называется разделяемая база сообщений,
снабжённых общим ареатагом (идентификатором области)
и распространяемых через Фидонет по иерархическим и (или)
p2p-подобным соединениям между отдельными системами Фидонета
(узловыми и пойнтовыми).
В силу неотъемлемо присущей фидонетовским программным пакетам
модульности, редактор эхопочты и браузер эхопочты могут быть
различными программами (к примеру, браузеру не необходим доступ
на запись к базе сообщений, и он может работать через read-only
гейт). Схема "echomail:" (определённая выше) предназначена
означать действие фидонетовского редактора эхопочты; схема
"area://", определяемая в этом разделе, означает ресурс,
расположенный в базе сообщений эхоконференции. Эти схемы могут
обслуживаться разными модулями программного обеспечения, даже
если они были изготовленны независимо.
Адреса area имеют вид:
area://<areatag>/<путь-объекта>?<необязательная-часть>
Символ "/" имеет своё буквальное значение в необязательной части
URLов этой схемы. Символ "/" имеет зарезервированный смысл внутри
требуемой части URLа (<areatag>/<путь-объекта>), играя роль
разделителя между частями пути. Если <areatag> (ареатаг эхи)
содержит символ "/" в его буквальном значении, то этот символ
ДОЛЖЕН быть кодирован.
Если <areatag> соответствует эхопочтовой области, которой нету
в системе, то URL МОЖЕТ рассматриваться как эквивалентный
areafix:<areatag> и пользователя МОЖНО спросить, не желает ли он
подписаться.
Если <путь-объекта> пуст и <необязательная-часть> не содержит
параметров, идентифицирующих сообщения, то URLом area означена
вся эхоконференция целиком.
Примеры:
area://Ru.FTN.Develop
area://Ru.FTN.Winsoft/
area://FTSC_Public?
area://Ru.Fidonet.Today/?
Когда такую гиперссылку используют (щёлкают, следуют по ней), то
браузер эхопочты МОЖЕТ открыть отсортированный перечень сообщений
эхопочты, присутствующих в заданной эхе, или древовидный список
ответов. Это зависит от пользовательских настроек браузера.
Если <areatag> пуст, то <путь-объекта> ДОЛЖЕН также быть пуст;
такой URL ведёт ко списку доступных областей эхопочты,
также известному как ареалист.
Примеры:
area://
area:///
area://?
textend.section
Ceterum censeo Diptaunum esse delendam! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Team В эхолисте ,,ё`` уместим] [Team А я меняю subj]
... Если верите в Бога, зачем ваши храмы пусты?
textsection 2 of 10 of file FidoURL.rus.txt
textbegin.section
5.1. Главные части URLов
-+----------------------
В общем, фидонетовские URLы записываются вот так:
<схема>:<особенная-часть>
Каждый URL содержит имя используемой им схемы (<схема>), а за ним
двоеточие, а за ним набор символов (<особенная-часть>), понимание
которого зависит от используемой схемы.
Имя схемы является последовательностью символов. В ней разрешается
употреблять строчные латинские буквы "a"--"z", цифры, символ плюса
("+"), точку ("."), дефис ("-"). В силу соображений совместимости,
разбирающим фидонетовский URL программам НАДОБНО обрабатывать
заглавные латинские буквы в именах схем как эквивалентные строчным,
им соответствующим (например, принимать имя схемы "AREA" в качестве
"area").
Только первое двоеточие в URLе играет роль отделителя, отделяющего
часть адреса <схема> от части <особенная-часть>. Особенная часть
всякого URLа МОЖЕТ содержать и другие двоеточия.
За двоеточием-отделителем между <схема> и <особенная-часть> МОЖЕТ
непосредственно идти необязательная двойная косая черта ("//").
Фидонетовские программы, разбирающие URL, ДОЛЖНЫ обрабатывать
отделитель "://" в качестве эквивалентного обычному двоеточию
перед <особенная-часть>.
5.1.1. Примечание о соответствии
-+------------------------------
Этот подраздел приводится для сведения.
Фидонетовские схемы URLов, описываемые в этом документе, состоят
только из строчных латинских букв "a"--"z". Однако как цифры,
так и символы плюса ("+"), точки (".") и дефиса ("-") ДОЛЖНЫ
также дозволяться в именах схем, чтобы обеспечить корректную
обработку интернетовских схем, соответствующих спецификациям
RFC 1738.
5.1.2. Руководство по употреблению отделителей
-+--------------------------------------------
Обычаи нынешнего Интернета проводят некоторое различие между
отделителями ":" и "://". Отделитель "://" часто применяется
после имён схем, означающих объекты и ресурсы ("http://",
"ftp://", "gopher://", "nntp://", "ed2k://", "file://" и т. д.).
Отделитель ":" часто употребляется после имён схем, означающих
действия (например, "mailto:", "skype:").
Аналогичная разница существует между фидонетовскими ресурсами
(объектами) и действиями. Вот почему, хотя эти отделители ДОЛЖНЫ
всегда обрабатываться как эквивалентные, всё же РЕКОМЕНДУЕТСЯ
использовать ":" после схем, означающих действия ("netmail:",
"echomail:", "areafix:"), а "://" СЛЕДУЕТ использовать после
схем, означающих ресурсы ("area://", "freq://", "fecho://",
"faqserv://", и т. п.).
5.2. Кодирование символов в URLах
-+-------------------------------
URLы являются последовательностями символов, то есть букв, цифр,
и (или) спецсимволов. URLы могут быть записаны разными способами;
например, чернилами на бумаге, или последовательностью октетов
кода, соответствующих символам в некоторой кодировке. Обработка
URL не зависит от этого способа, а только от значения символов,
в URL использованных.
Полезно различать два понятия: "символ" (элемент письменности,
семантическая единица) и "октет" (восьмибитный байт).
В большинстве схем URLов последовательности символов, стоящие
в разных частях URLа, отражают собою последовательности октетов,
используемых в фидонетовских службах. Скажем, в схеме "netmail:"
такими последовательностями октетов являются фидонетовский адрес,
заголовок письма и имя адресата; части URLа служат представлением
этих последовательностей. Последовательности же октетов, в свою
очередь, являются кодированным представлением изначальных символов
(символов заголовка, символов имени сисопа и т. д.); каждому из
изначальных символов соответствует один октет или более.
Таким образом, всегда существует два соответствия: символам URLов
соответствуют октеты, а октетам соответствуют изначальные символы:
запись URLа <-> последовательность октетов <-> изначальные символы
5.2.1. Кодирование изначальных символов
-+-------------------------------------
Следующий абзац приводится для сведения.
Последовательность октетов, определяемая той или иною частью
URLа, является представлением последовательности символов,
изначально используемых в Фидонете. Процесс этот обладает весьма
разнообразной природою. Будучи международной сетью, Фидонету
всегда приходится иметь дело с сотнями национальных символов,
с десятками имеющихся традиций кодирования и наборов символов.
И есть уже целый ряд FSC (документов фидонетовских стандартов),
предлагающих различные способы на основе кладжей указать, какой
набор символов используется. Однако не было бы мудрым решение
реализовать какие бы то ни было эквиваленты кладжей в качестве
необходимого элемента каждого из фидонетовских URLов; а также
было бы непросто поддерживать полный список всевозможных наборов
символов внутри каждой из программ, обрабатывающих фидонетовские
URLы. (Не забудьте, что одной из целей является возможность как
появления, так и правильной обработки фидонетовских URLов внутри
традиционного HTML-гипертекста в Паутине, интернетовском e-mail,
мгновенных сообщениях, и т. п.) Вот почему приходится выбрать
только одну кодировку, с достаточно обширным набором символов.
Дальнейшие абзацы этого подраздела приводятся для указания.
Последовательность октетов, используемая в фидонетовских URLах,
ДОЛЖНА всегда содержать представление изначальных символов,
достигнутое кодированием их в UTF-8.
Стандарт ISO/IEC 10646-1 определяет многооктетный набор символов
под названием Universal Character Set (т. е. Универсальный Набор
Символов, UCS), охватывающий большинство существующих в мире
систем письменности. И UTF-8, один из так называемых форматов
преобразования UCS (UCS transformation formats, UTF), сохраняет
семибитное подмножество ASCII неизменным, обеспечивая тем самым
некоторую совместимость с файловыми системами, обработчиками и
другими элементами программного обеспечения, которые полагаются
на значения семибитного ASCII, а по отношению к другим значениям
проявляют терпимость.
UTF-8 описывается в RFC 2279. Его описание также можно найти
в Unicode Technical Report #4 и в стандарте Unicode версии 2.0.
5.2.2. Кодирование октетов
-+------------------------
Последовательности символов в различных частях URLа используются
для представления последовательностей октетов.
Существует возможность представить октет при помощи символа,
соответствующего этому октету по коду в чистом (семибитном)
наборе символов ASCII. Однако есть некоторые исключения
(см. ниже).
Другой вариант: октеты МОГУТ также быть закодированы при помощи
тройки символов, состоящей из символа "%", за которым идут две
шестнадцатиричных цифры (из набора "0123456789ABCDEF"), которые
образуют шестнадцатиричное значение октета. (Символы "abcdef"
также МОЖНО использовать при шестнадцатиричном кодировании.)
Шестнадцатиричное кодирование любого октета МОЖЕТ использоваться
даже в тех случаях, когда оно не является ТРЕБУЕМЫМ, не является
РЕКОМЕНДУЕМЫМ. Тем не менее, РЕКОМЕНДУЕТСЯ избегать ненужного
шестнадцатиричного кодирования, чтобы URLы получались покороче.
Использование шестнадцатиричного кодирования октетов становится
НЕОБХОДИМЫМ или РЕКОМЕНДУЕМЫМ, если для них нет соответствующего
семибитного видимого символа в ASCII, или если употребление
соответствующего символа небезопасно, или если соответствующий
символ был зарезервирован для другого истолкования в конкретной
схеме URL. Эти требования и рекомендации излагаются ниже.
5.2.2.1. Нет соответствующего 7-битного видимого символа
-+------------------------------------------------------
URLы записываются только при помощи графических (видимых,
печатаемых) символов семибитной кодовой таблицы ASCII.
Октеты 80-FF (это дан шестнадцатиричный код их) не принадлежат
к семибитному ASCII, а октеты 00-1F и 7F (шестн.) обозначают
управляющие символы ASCII; эти октеты ДОЛЖНЫ кодироваться.
5.2.2.2. Небезопасные символы
-+---------------------------
Символы могут быть небезопасными по ряду причин.
Символ пробела является небезопасным, так как значащие пробелы
могут исчезнуть и незначащие пробелы могут быть добавлены при
записи или наборе URLов, а также при обработке текста с URLами
в текстовых процессорах. Октет 20 (шестн.) ДОЛЖЕН всегда быть
закодирован.
Символы "<" и ">" небезопасны, поскольку они употребляются как
разделители вокруг тэгов в HTML-гипертексте и в XML-данных.
Октеты 3C и 3E (шестн.) ДОЛЖНЫ всегда быть закодированы.
Символ кавычки (""") используется как разделитель вокруг URLов
в некоторых системах, в том числе в корректно записанном XHTML
и XML. Октет 22 (шестн.) ДОЛЖЕН всегда быть закодирован.
Символ "#" небезопасен, поскольку он используется во Всемирной
Паутине и в иных системах для отделения URLа от идентификатора
фрагмента или якоря, который может следовать за URLом.
Октет 23 (шестн.) ДОЛЖЕН всегда быть закодирован.
Символ "%" небезопасен, так как он используется в кодировании
других символов. Октет 25 (шестн.) ДОЛЖЕН всегда быть
закодирован.
Символьная последовательность тройного минуса (символ "-",
повторённый трижды) имеет специальное значение в Фидонете
и может случайно начать тиарлайн в некоторых случаях (скажем,
после переноса на новую строку). Как минимум один из трёх
соответствующих октетов (2D 2D 2D шестн.) ДОЛЖЕН быть
закодирован, если они следуют друг за другом последовательно.
Другие символы были определены как небезопасные в RFC 1738,
поскольку некоторые гейты и другие транспортные агенты были
известны в качестве модифицирующих эти символы иногда. Вот
эти символы: "{", "}", "|", "\", "^", "~", "[", "]" и "`".
Соответствующие им октеты (7B 7D 7C 5C 5E 7E 5B 5D 60 шестн.)
ДОЛЖНЫ быть закодированы во имя совместимости с Интернетом.
Все небезопасные символы ДОЛЖНЫ всегда быть закодированы
в URL. Скажем, символ "#" ДОЛЖЕН быть закодирован в URL
даже в тех программах, которым нет дела до идентификаторов
фрагментов или якорей, так чтобы если URL будет скопирован
в другую программу, которая использует такие идентификаторы,
то изменение кодирования URL не понадобилось бы.
textend.section
Ceterum censeo Diptaunum esse delendam! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Team В эхолисте ,,ё`` уместим] [Team А я меняю subj]
... 89) Джордж Вашингтон выpащивал в своем садике маpихyанy.
textsection 4 of 10 of file FidoURL.rus.txt
textbegin.section
5.3.1. Обработка неуместных зарезервированных символов
-+----------------------------------------------------
Зарезервированный символ "?" НЕ ДОЛЖЕН использоваться в URLе
более чем единожды; если в некотором URLе много "?", то только
первое появление "?" СЛЕДУЕТ рассматривать как разделитель между
необходимой и необязательной частью этого URLа, а оставшиеся "?"
МОГУТ восприниматься либо как если бы они были верно кодированы
(символьные тройки "%3F"), либо даже игнорироваться.
Зарезервированный символ "=" НЕ ДОЛЖЕН использоваться более чем
единожды в каждом из равенств с параметрами. Если в некоторой
записи параметра более одного символа "=", то первый из этих
символов СЛЕДУЕТ рассматривать как разделитель между именем
этого параметра и значением параметра; остальные символы "=",
встретившиеся до следующего символа "&" (или до конца URLа, если
это последняя пара "параметр=значение") МОГУТ быть восприняты
либо как если бы они были верно закодированными октетами внутри
значения этого параметра (тройками "%3D"), либо даже остаться
проигнорированными.
"Первое появление" означает левейшее, поскольку естественным
является порядок разбора адреса в направлении слева направо.
Программы, совершающие разбор фидонетовских URLов, также МОГУТ
остановить весь разбор и проигнорировать остаток URLа после той
позиции, где впервые попался им неуместный зарезервированный
символ. Такое поведение особенно РЕКОМЕНДУЕТСЯ для программ,
пытающихся извлечь URLы из некоторого простого текста, в котором
пробелы и (или) прочие разделители перед и после URLов способны
подчас пропасть волею случая.
6. Схемы URLов Фидонета, означающих действия
-+------------------------------------------
Схемы URLов, ниже перечисляемые, означают такие ресурсы, которые
чаще всего используются в действиях, включающих составление
и отсылку нетмейла или эхопочты.
В соответствии с вышележащим разделом-руководством по употреблению
отделителей, символ ":" (а не тройку символов "://") СЛЕДУЕТ
использовать как отделитель после части <схема> этих URLов.
6.1. Схема "netmail:"
-+-------------------
Схема "netmail:" означает фидонетовский нетмейловый адрес частного
лица или сервиса. Она использует стандартную фидонетовскую запись
адреса, <zone>:<net>/<node>.<point>@<domain> (см. подробности
в FSP-1004).
Символ "/" в этой схеме имеет своё буквальное значение.
Нетмейловые URLы выглядят таким образом:
netmail:<zone>:<net>/<node>.<point>@<domain>?<необязательная-часть>
Однако некоторые части адреса -- "<zone>:", "@<domain>" и (или)
".<point>" -- МОГУТ пропускаться (см. подробности в FSP-1004).
Примеры:
netmail:2:5030/1520.9 (пойнтовый адрес)
netmail:2:5063/88 (адрес узла)
netmail:182:5043/1@forestnet (адрес узла вне Фидонета)
Когда гиперссылку "netmail:" используют (щёлкают, следуют по ней),
то МОЖЕТ быть запущено программное обеспечение, составляющее
нетмейловые письма. Учитывая подобную возможность, несколько
необязательных параметров оказались спроектированы для URLовой
схемы "netmail:".
6.1.1. Необязательный параметр "to"
-+---------------------------------
Необязательный параметр "to" указывает имя адресата нетмейла.
Его значением по умолчанию МОЖЕТ быть "Sysop" или "SysOp". Его
значение по умолчанию также МОЖЕТ быть определено какою-либо
пользовательской настройкою в редакторе нетмейла, который
используется для обработки URL "netmail:".
Примеры:
netmail:2:5063/88?to=Mithgol+the+Webmaster
netmail:2:5030/1520.9?to=Trooper
netmail:2:50/13?to=Alex%20Kocharin
6.1.2. Необязательный параметр "subject"
-+--------------------------------------
Необязательный параметр "subject" указывает тему (subject)
составляемого нетмейла. Его значение по умолчанию является
пустым; оно также МОЖЕТ быть определено пользовательской
настройкою в редакторе нетмейла, который используется
для обработки URL "netmail:".
Примеры:
netmail:2:5063/88?subject=Is+the+hypertext+Fidonet+ready%3F
netmail:2:5030/830.17?subject=Yet+another+GoldEd%2b+feature
netmail:2:5030/84?to=R50EC&subject=%D0%AD%D1%85%D0%B8
6.1.3. Необязательный параметр "subj"
-+-----------------------------------
Необязательный параметр "subj" используется как более короткий
эквивалент параметра "subject". Если необязательный параметр
"subject" отсутствует в заданном URLе, значение параметра "subj"
ДОЛЖНО быть взято вместо значения "subject" при том условии, что
"subj" присутствует.
Пример:
netmail:2:5063/88?subj=Long+subject+may+avoid+line+wrapping+limits+:-)
6.1.4. Необязательный параметр "from"
-+-----------------------------------
Необязательный параметр "from" указывает имя автора нетмейла.
Его значение по умолчанию обычно определяется в настройках
программы-редактора нетмейла.
Примеры:
netmail:2:5030/84?to=R50EC&from=Moderator&subject=New+echo+rules
netmail:2:5024/1024?from=Moderator&subject=%5B%21%5D+read+only
6.1.5. Необязательный параметр "body"
-+-----------------------------------
Значением необязательного параметра "body" бывает означено тело
(основная часть) составляемого нетмейла. (По умолчанию значение
является пустым.) Программа, составляющая письмо, МОЖЕТ обернуть
значение параметра "body" элементами составленного пользователем
шаблона сообщений (использовать определённую пользователем
подпись, приветствие и т. д.)
Примеры:
netmail:2:5063/88?subj=About+FGHI&body=Fidonet+2.0+approached
netmail:2:50/0?subj=Complaint&body=That+sysop+is+so+annoying!
netmail:2:5030/1520.9?body=HellEd+needs+enormously+large+DLLs
6.2. Схема "areafix:"
-+-------------------
Ареафиксирующие письма являются специальным видом нетмейла. Такое
письмо указывает узлу-аплинку (которому оно адресовано и отослано
напрямую) переменить некоторые из его настроек эхопочтовой
подписки. К примеру, даунлинк (который отправляет письмо) может
попросить подписать или отписать себя самого от некоторых областей
эхопочты, потребовать пересканирования базы сообщений, переменить
настройки упаковщика и (или) распаковщика, проглядеть список
доступных ему эхоконференций, и т. п.
Эхопочтовою областью называется разделяемая база сообщений,
снабжённых общим ареатагом (идентификатором области)
и распространяемых через Фидонет по иерархическим и (или)
p2p-подобным соединениям между отдельными системами Фидонета
(узловыми и пойнтовыми). См. спецификации эхопочты в FTS-0004.
Ареафиксирующие письма обычно следуют весьма жёсткой схеме: они
беспременно указывают пароль даунлинка в строке темы (чтобы запрос
был корректно аутентифицирован), и имя некоторого ареафиксирующего
робота (например, "AreaFix", или "AreaMgr", или "AreaLink") должно
быть указано в качестве имени адресата. По своей природе все эти
требования секретны, и оттого вышеописанная схема "netmail:"
не годится для конструирования гиперссылок, приглашающих кого-либо
подписаться на некоторые фидонетовские области эхопочты или же
покинуть их. Необходима отдельная схема URLов.
Схема "areafix:" означает фидонетовское ареафиксирующее действие,
которое касается некоторой области эхопочты.
Символ "/" в этой схеме имеет своё буквальное значение.
URLы ареафикса имеют вид:
areafix:<areatag>?<необязательная-часть>
Когда гиперссылку "areafix:" используют (щёлкают мышью, следуют
по ней), то СЛЕДУЕТ запуститься редактору нетмейла (или менеджеру
подписки), который автоматически составляет верное ареафиксирующее
письмо (адресованное узлу-аплинку и запрашивающее подписку на
указанную область эхопочты). Однако РЕКОМЕНДУЕТСЯ спросить
у пользователя подтверждения, отсылать ли готовый запрос
о подписке или отменить его прежде, чем письмо будет отослано.
Примеры:
...если вы разработчик, подпишитесь через areafix:SU.FidoTech
и наслаждайтесь бесконечным потоком FAQов...
...присоединяйтесь к обсуждению жизни нынешнего Фидонета:
используйте гиперссылку, ведущую на areafix:Ru.Fidonet.Today
textend.section
Ceterum censeo Diptaunum esse delendam! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Team В эхолисте ,,ё`` уместим] [Team А я меняю subj]
... Чтобы власть стала сильнее, следует её ограничить. (Людвиг Берне)
textsection 5 of 10 of file FidoURL.rus.txt
textbegin.section
6.2.1. Необязательный параметр "uplink"
-+-------------------------------------
Обыкновенно у фидонетовского программного обеспечения находятся
собственные способы определить, на каком аплинке есть указанная
область эхопочты и куда надо посылать ареафиксирующее письмо
нетмейлом. Однако, если у системы есть несколько узлов-аплинков,
способных раздавать заданную эху, то необязательный параметр
"uplink" МОЖЕТ рекомендовать предпочтительный узел-аплинк
(при том условии, что у автора гиперссылки есть какой-либо повод
предпочесть определённый аплинк всем остальным и рекомендовать
именно его).
Параметр "uplink" принимает значение, использующее стандартную
фидонетовскую запись адресов,
<zone>:<net>/<node>.<point>@<domain>
Однако некоторые части адреса -- "<zone>:", "@<domain>" и (или)
".<point>" -- МОГУТ пропускаться (см. подробности в FSP-1004).
В значении параметра "uplink" часто опускается номер пойнта,
поскольку фидонетовские пойнты практически никогда не становятся
аплинками.
Примеры:
...получайте эху о встроенных системах прямо от её
модератора, используйте areafix:Ru.Embedded?uplink=2:5029/32
...эти титанические эхоконференции никогда не были на боне,
используйте areafix:Titanic.PVT?uplink=2:5020/830
и подпишитесь на одну из них с узла-первичника...
У параметра "uplink" нет значения по умолчанию; задаваемое
по умолчанию поведение программного обеспечения, управляющего
подпискою, должно определяться сетевой топологией отношений
между аплинками и даунлинками.
Обычно, если ареафиксовый URL означает ту эхопочтовую область,
на которую уже была оформлена подписка, то менеджеру подписки
нечего и делать. Однако, если необязательный параметр "uplink"
присутствует, то программное обеспечение МОЖЕТ прервать ранее
установленную подписку на нынешнем аплинке по указанной области
эхопочты, а затем обеспечить доставку той же самой области
эхопочты с предпочтительного аплинка, указанного как значение
параметра "uplink". (Сперва СЛЕДУЕТ спросить пользователя,
уместно ли такое переназначение.)
6.2.2. Необязательные параметры "unsubscribe" и "leave"
-+-----------------------------------------------------
Если необязательный параметр "unsubscribe" и (или) его более
краткий синоним "leave" появляется в ареафиксовом URLе, тогда
отписка от указанной эхопочтовой области ДОЛЖНА быть запрошена
вместо подписки на эту область.
Значение этих параметров игнорируется; только их присутствие или
отсутствие определяет поведение менеджера подписки.
РЕКОМЕНДУЕТСЯ указывать пустое значение и не использовать символ
"=", тем самым удерживая длину ареафиксовых URLов в разумных
пределах.
Примеры:
areafix:Ru.PHP?unsubscribe
areafix:Ru.List.Citycat.Culture.Music.Announce.FantasyNews?leave
6.2.3. Будущие необязательные параметры
-+-------------------------------------
Будущие версии этого документа могут вводить ещё больше
необязательных параметров для ареафиксовых URLов, способствуя
ещё более чёткому контролю над параметрами рескана эхопочты,
настройками паковщика, распаковщика, форматами архивов и т. п.
Программам, обрабатывающим ареафиксовые URLы, НЕ СЛЕДУЕТ быть
уверенными насчёт того, безопасно ли игнорировать любой из им
не известных параметров. Некоторые из будущих расширений могут
поразительно переменить смысл URLа, как "unsubscribe" способен
уже переменить этот смысл на противоположный.
Если незнакомый параметр встретился в ареафиксовом URLе, СЛЕДУЕТ
всегда спрашивать пользователя о том, может ли этот параметр
быть проигнорирован с лёгким сердцем.
6.2.4. Относительные URLы "areafix:"
-+----------------------------------
Если ареафиксовый URL опубликован в той же области эхопочты,
которой касается означенное им действие, то имя области эхопочты
МОЖНО не приводить.
Примеры:
...если тебе не нравится эха, areafix:?unsubscribe отсюда!
...если вы чувствуете, что некоторые эхопочтовые сообщения
утрачены, то на нынешнего вашего аплинка нельзя полагаться.
Лучше подпишитесь через areafix:?uplink=2:5063/88
Если такой относительный ареафиксовый URL попался вне
фидонетовской эхопочты, тогда URL неверен.
6.3. Схема "echomail:"
-+--------------------
Эхопочта является важной и мощной силою в Фидонете. Эхопочта, по
определению, является широковещательной средою. См. спецификации
эхопочты в FTS-0004.
Эхопочтовою областью называется разделяемая база сообщений,
снабжённых общим ареатагом (идентификатором области)
и распространяемых через Фидонет по иерархическим и (или)
p2p-подобным соединениям между отдельными системами Фидонета
(узловыми и пойнтовыми).
Схема "echomail:" указывает на фидонетовскую область эхопочты
как на такое место, куда можно посылать эхопочту.
Символ "/" в этой схеме имеет своё буквальное значение.
Эхопочтовые URLы имеют вид:
echomail:<areatag>?<необязательная-часть>
Примеры:
echomail:Ru.FTN.Develop
echomail:Ru.FTN.WinSoft
echomail:FTSC_Public
Когда гиперссылку "echomail:" используют (щёлкают мышью, следуют
по ней), то СЛЕДУЕТ запуститься редактору эхопочтового сообщения.
6.3.1. Необязательный параметр "to"
-+---------------------------------
Необязательный параметр "to" указывает имя адресата эхопочты.
Его значению по умолчанию НАДОБНО быть "All", что означает
всех подписчиков эхи. Значение по умолчанию МОЖЕТ также быть
задано какою-либо пользовательской настройкою в редакторе
эхопочты, обрабатывающем URL "echomail:".
Примеры:
echomail:Ru.FTN.Develop?to=Mithgol+the+Webmaster
echomail:Ru.FTN.WinSoft?to=Trooper
echomail:Ru.Fidonet.Today?to=Alex%20Kocharin
6.3.2. Необязательный параметр "subject"
-+--------------------------------------
Необязательный параметр "subject" указывает тему (subject)
составляемого письма эхопочты нетмейла. Его значение является
по умолчанию пустым; оно также МОЖЕТ задаваться пользовательской
настройкою в том редакторе эхопочты, который используется
для обработки URL "echomail:".
Примеры:
echomail:SU.Chainik?subject=How+do+I+set+up+a+tosser%3F
echomail:Ru.GoldEd?subject=GoldEd%2b+changelog
echomail:R50.Bone?to=R50BM&subject=%D0%AD%D1%85%D0%B8%3F
6.3.3. Необязательный параметр "subj"
-+-----------------------------------
Необязательный параметр "subj" используется как более короткий
эквивалент параметра "subject". Если необязательный параметр
"subject" отсутствует в заданном URLе, значение параметра "subj"
ДОЛЖНО быть взято вместо значения "subject" при том условии, что
"subj" присутствует.
Пример:
echomail:FTSC_Public?subj=Long+subject+may+avoid+line+wrapping+limits
6.3.4. Необязательный параметр "from"
-+-----------------------------------
Необязательный параметр "from" указывает имя автора эхопочты.
Его значение по умолчанию обычно определяется в настройках
программы-редактора эхопочты.
Examples:
echomail:Ru.Moderator?to=R50EC&from=Moderator+of+XXX.chat
echomail:Ru.Fidonet.Yo?from=Moderator&subject=*+*+*+Rules
textend.section
Ceterum censeo Diptaunum esse delendam! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Team В эхолисте ,,ё`` уместим] [Team А я меняю subj]
... Он выразился так ясно, что разум отказывался понимать. (Станислав Ежи Лец)
textsection 8 of 10 of file FidoURL.rus.txt
textbegin.section
7.2.1.5. Будущие необязательные идентифицирующие параметры
-+--------------------------------------------------------
Будущие версии этого документа могут вводить дополнительные
необязательные параметры, идентифицирующие сообщения. Скажем,
гипертекстовые сообщения могут быть идентифицированы по
метаинформации из их HTML-заголовка. Также сообщения могут
быть найдены при помощи методов других, нежели регулярные
выражения.
Однако отбрасывание неизвестных необязательных параметров
area-адреса является безопасным, хотя воспринимающим
фидонетовские URLы программам СЛЕДУЕТ, возможно, предупреждать
своих пользователей, если неизвестный параметр отбрасывается
и когда такое предупреждение уместно.
7.2.2. Закодированные объекты внутри эхопочтовых сообщений
-+--------------------------------------------------------
Фидонетовское эхопочтовое сообщение может содержать один или
несколько двоичных объектов, закодированных для того, чтобы
иметь вид текстоподобных строк символов. Среди возможных методов
такого кодирования можно назвать UUE, MIME (RFC 2045-2049),
"data:" (RFC 2397), и т. п.
Эхопочтовое сообщение МОЖЕТ содержать несколько объектов, и они
МОГУТ быть закодированы разными способами. С другой стороны,
закодированный объект МОЖЕТ располагаться в нескольких
фидонетовских сообщениях: например, каждое из этих фидонетовских
сообщений МОЖЕТ нести одну или две UUE-секции, и весь набор
секций потребуется при декодировании файла.
7.2.2.1. Имена кодированных объектов
-+----------------------------------
Этот подраздел приводится для сведения.
Большинство объектов, закодированных внутри эхопочтовых
сообщений, имеют имя.
Имя UUE-закодированного объекта обычно появляется в строке
"begin" и (или) "section" UUE-кодов.
Имя MIME-кодированного объекта обычно появляется либо внутри
заголовка "Content-type" (в его разделе "name"), либо внутри
заголовка "Content-disposition" (в его разделе "filename").
RFC 2397 "data:" не указывает имя объекта; однако тот объект
гипертекста, которому соответствуют данные, МОЖЕТ сам быть
поименован при посредстве атрибута "id" или "name" в его тэге.
7.2.2.2. Как определяется означенный объект
-+-----------------------------------------
Если <путь-объекта> в area-адресе не пуст, то его URLом
оказывается означен либо закодированный объект в целом, либо
некоторая внутренняя часть такого объекта. Отвлекаясь от этих
внутренних деталей, назовём целый объект "означенным объектом"
в этом подразделе.
Если <путь-объекта> в area-адресе не пуст, то и <имя-объекта>
ДОЛЖНО также быть непустым по определению, и в нём указано
имя означенного объекта.
Однако в эхопочтовой базе сообщений (базе той области, которая
названа в разделе <areatag> заданного URLа) МОЖЕТ иметься
больше одного объекта под одним и тем же именем. И потому
важно определить, какой объект считается "последним".
Среди тех сообщений, в которых содержатся одноимённые объекты
(или только части таких объектов -- скажем, UUE-секции), есть
последнее сообщение. Если это последнее сообщение содержит
только один из этих объектов (частично или полностью), тогда
этот объект является последним. Если это последнее сообщение
содержит части и (или) целые закодированные образы более чем
одного объекта с одним и тем же именем, тогда тот объект, чей
закодированный образ или лишь последняя секция такового
(последняя из секций, присутствующих в последнем сообщении)
появляется ближайшей к концу этого сообщения (наиболее далёкой
от его начала), является последним объектом.
Определение самого "последнего сообщения" не входит в задачи
данного документа. Им МОЖЕТ быть последнее принятое сообщение,
им МОЖЕТ быть сообщение с наибольшей датой создания, и т. п.
Означенный объект всегда определяется как последний среди тех,
чьё имя указано в <имя-объекта>.
Фидонетовский браузер ДОЛЖЕН игнорировать объекты,
закодированные таким способом, который непонятен браузеру;
означенный объект ДОЛЖЕН всегда быть последним среди только
тех объектов с заданным именем, которые возможно декодировать
из базы сообщений эхопочты.
Если в необязательной части URLа есть один или несколько
необязательных параметров, идентифицирующих сообщения, тогда
означенный объект является последним среди только тех
способных быть декодированными одноимённых объектов,
чей закодированный образ (или хотя бы одна закодированная
секция) имеется в том сообщении или среди тех нескольких
сообщений, которые идентифицированы необязательным параметром
(параметрами).
7.2.2.2.1. Возможные приложения
-+-----------------------------
Этот подраздел приводится для сведения.
Так как <имя-объекта> всегда относится к последнему среди
одноимённых объектов, то URL "area://" может означать
объект, обновляемый при посредстве фидонетовской эхопочты.
Такие объекты могут обновляться ежедневно (как в прогнозе
погоды), еженедельно (как в статистическом отчёте насчёт
нодлиста), и так далее. Вот каким способом Фидонет может
предоставлять динамический свежий контент. А если некий URL
должен указывать на некую прежнюю статическую версию вместо
наисвежайшей динамической, тогда необязательный параметр,
идентифицирующий одно-единственное сообщение, всегда сможет
это обеспечить.
Если несколько узлов имеют доступ на запись к одной и той же
эхе, и невозможно полагаться просто на последний одноимённый
объект, тогда можно использовать параметр "from", обеспечив
выбор доверенного источника.
Так как всякий фидонетовский браузер ДОЛЖЕН игнорировать
объекты, способ кодирования которых ему не понятен, то
возможным является включение нескольких альтернативных
версий одного и того же объекта (по-разному закодированных),
даже в одном и том же письме эхопочты, при том условии, что
имена опубликованных версий объекта одинаковы. И браузер
счастливо подберёт тот способ кодирования, который он сможет
понять. К примеру, кто-нибудь может одновременно публиковать
как UUE (для GoldEd+), так и RFC 2397 (для Gecko) версии
одного и того же значка.
textend.section
Ceterum censeo Diptaunum esse delendam! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Team В эхолисте ,,ё`` уместим] [Team А я меняю subj]
... И повернулся резко он и вдаль ушёл своей дорогой
textsection 7 of 10 of file FidoURL.rus.txt
textbegin.section
7.2.1. Необязательные параметры, идентифицирующие сообщения
-+---------------------------------------------------------
Если хотя бы один из необязательных параметров, идентифицирующих
сообщения, присутствует в необязательной части area-адреса, то
area://<areatag>?<необязательная-часть>
означает не всю базу сообщений заданной эхи, а только сообщение
(или несколько сообщений), соответствующее (соответствующие)
указанному необязательному идентифицирующему параметру (или
нескольким необязательным идентифицирующим параметрам).
7.2.1.1. Необязательный параметр "msgid"
-+--------------------------------------
Необязательный параметр "msgid" позволяет указать на одно,
единственное сообщение в указанной базе сообщений. Значением
этого параметра является содержимое кладжа MSGID из этого
сообщения, без предшествующей строки "^MSGID: ".
Кладжи MSGID определены в FTS-0009 и хорошо служат в качестве
уникальных идентификаторов сообщений эхопочты.
Примеры:
area://R50.SysOp?msgid=2:5063/88+44585f4d
area://Ru.Fidonet.Today/?msgid=2:5063/88%2043a94313
Отметим, что необязательный параметр "msgid" МОЖЕТ означать
некоторое сообщение, отсутствующее в текущей базе сообщений
заданной эхопочтовой области. В этом случае фидонетовская
система МОЖЕТ запросить на своём аплинке рескан такой эхи,
или воспользоваться каким-либо внешним архивом фидонетовских
сообщений, или попробовать какие-нибудь другие средства для
раздобывания желаемого сообщения. Означенное сообщение не
будет доступно до тех пор, покуда эти действия не приведут
к желаемому результату. А программам, воспринимающим URLы
Фидонета, НЕ СЛЕДУЕТ отбрасывать "msgid" и делать вид, что
area://<areatag>?<необязательная-часть> означает всю эху
в том случае, если к желаемому сообщению нельзя получить
немедленный доступ.
7.2.1.2. Необязательный параметр "mid"
-+--------------------------------------
Необязательный параметр "mid" используется как более короткий
эквивалент параметра "msgid". Если необязательный параметр
"msgid" отсутствует в заданном URLе, значение параметра "mid"
ДОЛЖНО быть взято вместо значения "msgid" при том условии, что
"mid" присутствует.
Примеры:
area://Ru.List.CityCat.Business.Tax.NewLawTaxes?mid=2:5063/88+00000000
area://Ru.List.CityCat.Comp.Soft.Others.ARCTest?mid=2:5063/88+11111111
area://Ru.List.CityCat.COMP.Soft.Win.SoftPileRu?mid=2:5063/88+22222222
area://Ru.List.CityCat.Fin.Review.UkrStockDaily?mid=2:5063/88+33333333
area://Ru.List.CityCat.Home.ModeBeauty.NewSport?mid=2:5063/88+44444444
area://Ru.List.CityCat.HScope.Daily.Sagittarius?mid=2:5063/88+55555555
area://Ru.List.CityCat.INet.News.ComputerReview?mid=2:5063/88+66666666
area://Ru.List.CityCat.Job.Careerist.Technology?mid=2:5063/88+77777777
area://Ru.List.CityCat.Job.Education.Philosophy?mid=2:5063/88+88888888
area://Ru.List.CityCat.Media.News.Review.UkrMet?mid=2:5063/88+99999999
area://Ru.List.CityCat.Media.Science.ForestNews?mid=2:5063/88+aaaaaaaa
area://Ru.List.CityCat.News.Russia.PavlovoPosad?mid=2:5063/88+bbbbbbbb
area://Ru.List.CityCat.Rest.Mystery.AstroMskSPb?mid=2:5063/88+cccccccc
area://Ru.List.CityCat.Science.News.Conferences?mid=2:5063/88+dddddddd
area://Ru.List.CityCat.Science.Psychology.Child?mid=2:5063/88+eeeeeeee
area://Ru.List.CityCat.State.Politics.WorldStat?mid=2:5063/88+ffffffff
7.2.1.3. Необязательный параметр "from"
-+-------------------------------------
Необязательный параметр "from" используется для указания
фидонетовского нетмейлового адреса частного лица или сервиса.
Значение параметра "from" использует стандартную фидонетовскую
запись адреса, <zone>:<net>/<node>.<point>@<domain>
(см. подробности в FSP-1004).
Если в необязательной части area-адреса присутствует "from",
то
area://<areatag>?<необязательная-часть>
означает не всю базу сообщений заданной эхи, а только то
сообщение (или несколько сообщений), которые были отправлены
в эху указанным узлом или пойнтом. Выборка этих сообщений
может стать ещё поуже, если в том же URLе используются
и другие параметры, идентифицирующие сообщения.
7.2.1.4. Необязательный параметр "find"
-+-------------------------------------
Необязательный параметр "find" подразумевает, что в эхообласти
следует отыскать конкретное сообщение или несколько сообщений.
Значение этого необязательного параметра "find" содержит
регулярное выражение; телу (телам) найденного сообщения (или
сообщений) НАДО соответствовать этому выражению.
Подробности о регулярных выражениях см. в разделе 7.2.3.
Если в необязательной части area-адреса присутствует "find",
то
area://<areatag>?<необязательная-часть>
означает не всю базу сообщений заданной эхи, а только то
сообщение (или несколько сообщений), которые соответствуют
указанному регулярному выражению. Выборка этих сообщений
может стать ещё поуже, если в том же URLе используются
и другие параметры, идентифицирующие сообщения.
Примеры:
код в URLе: ...&find=/\bFido(net)%3f\b/i
выражение: /\bFido(net)?\b/i
находит: Fido
находит: FIDOnet
находит: FidoNet
не находит: Fidonet-alike
не находит: Fidobrowser
не находит: fidoshnik
не находит: triffidos
код в URLе: ...&find=/(P(2P)%7b1,4%7d%7cfile\s%2bexchange)/
выражение: /(P(2P){1,4}|file\s+exchange)/
находит: P2P
находит: P2P2P2P
находит: P2P2P2P2P
находит: file exchange
находит: file exchange
не находит: P2P2P2P2PP2P2P2P2P
не находит: P2P2P2P2P2P
не находит: fileexchange
не находит: file_exchange
не находит: p2p
не находит: FiLe ExChanGe
Фидонетовские сообщения способны содержать кладжи (технические
подробности см. в FTS-4000.). Стало быть, URL способен указать
на выборку сообщений, отмеченных некоторым типом кладжа или
некоторыми значениями кладжа. Соответствующее регулярное
выражение начинается с символов ^\x1 или ^\01, которые
обозначают начало строки с непосредственно следующим за ним
символом SOH (Ctrl+A, ASCII 1). Выражение ДОЛЖНО использовать
многострочный режим поиска совпадений (флаг "m") для того,
чтобы конструкция "^" срабатывала в начале каждого кладжа.
Примеры:
код URLа: ...&find=/%5E\01Real\s*name:\s%2B(%3f!\s).%2b/im
выражение: /^\01Real\s*name:\s+(?!\s).+/im
Соответствует всем сообщениям с непустыми кладжами
realname.
Полезно для модераторов, проверяющих, как подписчики
себя обозначают.
код URLа: ...&find=/%5E\x1Category:\s.*(music%7cweather)/im
выражение: /^\x1Category:\s.*(music|weather)/im
найдёт кладж: Category: music
найдёт кладж: Category: hardcore music
найдёт кладж: Category: weather
найдёт кладж: Category: real life, bad weather, bad mood
Соответствует всем сообщениям, которые принадлежат
хотя бы к одной из заданных категорий.
Полезно для подбора сообщений на некоторую тему из блога
или любого другого информационного канала с достаточно
широким набором тем.
Если есть нужда в том, чтоб некоторый URL содержал несколько
регулярных выражений и означал фидонетовские сообщения,
которые соответствуют хотя бы одному из этих регулярных
выражений, тогда автору URLа НАДО объединить эти выражения
в качестве альтернативных ветвей одного-единственного образца
(выражение1|выражение2|...) -- как показано выше на примере,
имеющем отношение к категориям.
Если есть нужда в том, чтоб некоторый URL содержал несколько
регулярных выражений и означал фидонетовские сообщения,
которые соответствуют каждому из этих регулярных выражений,
тогда автору URLа НАДО использовать в этом URLе несколько
параметров "find".
Примеры:
find=/%5E\01Location:\s*Moscow/im&find=/%5E(%3f!\x1).*Kremlin/im
Регулярное выражение 1: /^\01Location:\s*Moscow/im
Регулярное выражение 2: /^(?!\x1).*Kremlin/im
Найти сообщения с кладжем "Location: Moscow" (или даже
"Location:Moscow" без пробела), которые содержат слово
"Kremlin" вне кладжевых строк.
find=/%5E\x1Category:\s/im&find=/%5E\01Now\s%2bplaying:\s/im
Регулярное выражение 1: /^\x1Category:\s/im
Регулярное выражение 2: /^\01Now\s+playing:\s/im
Найти сообщения, которые содержат оба кладжа "Category: "
и "Now playing: " со следующим после двоеточия пробелом.
textend.section
Ceterum censeo Diptaunum esse delendam! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Team В эхолисте ,,ё`` уместим] [Team А я меняю subj]
... и таким образом расшатать власть диктатора. (Джин Шарп)
textsection 9 of 10 of file FidoURL.rus.txt
textbegin.section
7.2.3. Регулярные выражения
-+-------------------------
Необязательный параметр area-адреса способен содержать в себе
регулярное выражение (регэкс). Так, в разделе 7.2.1.4 регэкс
используется для указания на означенное сообщение (сообщения);
в разделе 7.2.4.1 регэкс определяет, является ли видимым кладж.
В языке регулярных выражений есть несколько различных диалектов.
Perl-совместимые регулярные выражения (PCRE) избраны здесь
в качестве рекомендуемых; это потому, что движок PCRE обладает
богатым набором возможностей, и потому, что движок этот давно уж
встроен в ECMAScript-совместимые браузеры современной Паутины.
Сам язык регулярных выражений лежит далеко за рамками этого
документа. Статья http://en.wikipedia.org/wiki/PCRE в Википедии
и имеющиеся в ней внешние ссылки, вероятно, являются лучшим
начальным местом для желающих научиться написанию регэксов PCRE.
Некоторые фидонетовские браузеры имеют собственные движки языка
JavaScript, и им СЛЕДУЕТ соответствовать требованиям стандарта
ECMA-262, третья редакция, раздел 15.10. (Как функциональные
возможности, так и форма записи тамошних регулярных выражений
соответствуют способностям языка программирования Perl 5.)
Остальным фидонетовским браузерам НАДОБНО использовать пакет
библиотек PCRE, который является открытым программным
обеспечением, написанным Филиппом Хазелем, и выложенным
на http://www.pcre.org/
Фидонетовским гейтам в Паутине СЛЕДУЕТ использовать либо сам
Perl, либо реализацию PCRE в PHP (функцию preg_grep(), скажем),
либо другую подходящую PCRE-совместимую реализацию.
Регулярное выражение в фидонетовском адресе ДОЛЖНО всегда иметь
вид
/образец/флаги
Единственными допустимыми флагами (модификаторами образца)
в URLах Фидонета являются буквы "i" (если этот модификатор
установлен, то буквы образца подходят как к заглавным, так
и ко строчным буквам) и "m" (если этот модификатор установлен,
то конструкции "начало строки" и "конец строки" срабатывают
немедленно после или немедленно перед началом каждой новой
строки в проверяемом тексте, соответственно, а не только
в самом его начале и конце).
(Коротко говоря, "i" означает игнорирование регистра символов,
а "m" означает многострочный режим поиска совпадений.)
7.2.4. Управление видимостью кладжей и скрытых строк
-+--------------------------------------------------
Этот раздел приводится для сведения. Его подраздел приводится
для указания.
Кладжи (также известные под названием кладжевых строк или
управляющих параграфов) -- это специальные строки, внедряемые
в текстовое тело фидонетовского сообщения. Иногда кладжи
обеспечивают поддержку новой адресации и другой управляющей
информации, иногда они содержат элементы вспомогательных
сведений об авторе сообщения (его местонахождение, номер ICQ,
Jabber ID, реальное имя, играющая музыка, нынешнее настроение,
и т. п.). См. технические подробности в FTS-4000.
И сказано в FTS-4000, что содержимое кладжей предназначается
для программ, обрабатывающих сообщение (или копии сообщения),
а на демонстрации на уровне пользовательского интерфейса.
Фидонетовские сообщения обыкновенно содержат и некоторые другие
специальные строки той же природы, предназначенные для программ,
обрабатывающих сообщение, и обычно скрытые от пользователя.
Однако эти скрытые строки не начинаются с символа SOH (Ctrl+A,
ASCII 1), и оттого не являются кладжами. Штампы seen-by,
например, являются скрытыми строками.
Пользователи обычно бывают способны указать (в пользовательских
настройках, или просто горячими клавишами), какие скрытые строки
и кладжи скрыты, а какие показываются в их браузерах Фидонета.
Например, модераторы используют скрытые строки для контроля над
распространением их эхоконференций. Многие нестандартные кладжи
(в т. ч. местонахождение, номер ICQ, Jabber ID, реальное имя,
играющая музыка, нынешнее настроение и проч.) предназначены для
прочитывания людьми, а оформляются как кладжи для того, чтобы их
легко могли спрятать те читатели, которых раздражают заголовки
излишнего размера.
Если автор некоторого area-адреса чувствует, что некоторый кладж
и (или) некоторая скрытая строка означенного сообщения содержит
значимую информацию, тогда автор МОЖЕТ дополнить этот URL
необязательным параметром, чтобы превозмочь пользовательские
настройки и показать желаемый кладж или скрытую строку.
7.2.4.1. Необязательный параметр "kl"
-+-----------------------------------
Этот подраздел приводится для указания.
Значение необязательного параметра "kl" содержит регулярное
выражение; если остатком URLа оказывается означено сообщение
(или несколько сообщений), тогда браузеру Фидонета, когда он
показывает тело (тела) этого сообщения (этих сообщений) своему
пользователю, НЕ СЛЕДУЕТ скрывать ни один из тех кладжей или
скрытых строк, которые соответствуют данному выражению.
Подробности о регулярных выражениях см. в разделе 7.2.3.
При проверке кладжа на соответствие регулярному выражению
символ SOH (Ctrl+A, ASCII 1) ДОЛЖЕН опускаться. Например,
выражение /^[PT]ID/ ДОЛЖНО соответствовать как кладжу "PID",
так и кладжу "TID", хотя SOH лежит между началом строки (^)
и первым символом кладжа ([PT]) в каждом из кладжей.
Стало быть, регулярные выражений "kl=" отличаются
от регулярных выражений "find=" для кладжей (см. подраздел
7.2.1.4), и выражения "kl=" короче.
Кроме того, для выражения "kl=" флаг "m" не является
необходимым, поскольку конструкция "^" и так соответствует
началу каждого кладжа.
Примеры:
код URLа: ...&kl=/%5ep/i
выражение: /^p/i
подойдёт: PATH: 5030/1543 966 5020/4441 5080/1003 5020/830
подойдёт: PID: GED+W32 1.1.5-b20060515
код URLа: ...&kl=/path/i
выражение: /path/i
подойдёт: PATH: 5030/1543 966 5020/4441 5080/1003 5020/830
подойдёт: Now playing: Children of Dune - The Golden Path
код URLа: ...&kl=/.*/
выражение: /.*/
что оно значит: Браузеру НАДОБНО показать все кладжи
и скрытые строки сообщения (сообщений).
7.3. Схема "faqserv://"
-+---------------------
FAQ-серверами называют фидонетовские станции, которые принимают
специальные запросы, содержащие имена файлов (или алиасы) неких
текстов. Такие запросы посылаются фидонетовским нетмейлом.
FAQ-сервер обрабатывает запрос и посылает запрошенный текст
отправителю запроса; текст посылается фидонетовским нетмейлом
либо в одном письме (целиком), либо в нескольких (секциями).
URLы faqserv имеют вид:
faqserv://<сервер>/<запрос>/<путь-объекта>?<необязательная-часть>
Символ "/" имеет своё буквальное значение в необязательной части
URLов этой схемы. Символ "/" имеет зарезервированный смысл внутри
необходимой части URLа (<сервер>/<запрос>/<путь-объекта>), играя
роль разделителя между частями пути. Однако внутри части <сервер>
символ "/" снова ДОЛЖЕН иметь своё буквальное значение и ДОЛЖЕН
появиться единожды (и только единожды!) как разделитель между
частями адреса сервера.
Часть <сервер> является обязательной и ДОЛЖНА присутствовать
в URLах faqserv. В этой части используется стандартная
фидонетовская запись адреса, <zone>:<net>/<node>.<point>@<domain>
(см. подробности в FSP-1004). Однако некоторые части адреса --
"<zone>:", "@<domain>" и (или) ".<point>" -- МОГУТ пропускаться
(опять же см. подробности в FSP-1004). Часть <сервер> в URLах
faqserv означает фидонетовский адрес той станции (FAQ-сервера),
запрос к которой подразумевается.
Если <путь-объекта> в faqserv-адресе не пуст, то и <имя-объекта>
ДОЛЖНО также быть непустым по определению, и в нём указано имя
объекта, внедрённого в нетмейловый текстовый ответ, отсылаемый
FAQ-сервером. Либо этот объект, либо одна из его внутренних частей
является означенною согласно <путь-объекта>.
Однако нетмейловый отклик сервера МОЖЕТ содержать более одного
объекта под одним и тем же именем. В этому случае означенный
URLом объект является последним среди одноимённых объектов,
способных быть декодированными. Определение последнего объекта
дано в разделе 7.2.2.2.
Часть <запрос> в faqserv-адресе является либо пустою, либо не
пустою, либо вовсе отсутствующею. Это три различных возможных
случая.
Если часть <запрос> в faqserv-адресе присутствует, но пуста, то
косые черты вокруг неё НЕ ДОЛЖНЫ убираться. Этот URL предполагает
отсылку на заданный сервер запроса по умолчанию. Это МОЖЕТ быть
запрос о помощи (то есть запрос "HELP"), или запрос перечня тем
сервера (то есть запрос "%LIST"), или любой другой запрос, который
может определяться некоторыми пользовательскими настройками или
содержимым базы данных по FAQ-серверам.
Примеры:
faqserv://2:5020/1641.7//
Запрашивается перечень тем сервера.
faqserv://2:5030/1410.100//sample.zip
Адрес указывает на ZIP-файл внутри стандартного отлика.
Если часть <запрос> в faqserv-адресе вовсе отсутствует, тогда
<путь-объекта> ДОЛЖЕН также быть пуст, и "<запрос>/<путь-объекта>"
НЕ ДОЛЖНЫ приводиться вообще, и предшествующий символ "/" МОЖЕТ
также быть опущен. В этом случае faqserv-адресом обозначается сам
FAQ-сервер, как фидонетовская станция. Такой URL МОЖЕТ означать
действие, а не ресурс; к примеру, означать добавление заданного
FAQ-сервера в некоторый список или базу данных FAQ-серверов.
Примеры:
faqserv://2:5043/17.100@fidonet/
faqserv://2:5054/80.999
Если часть <запрос> в faqserv-адресе не пуста, то она указывает
запрос, отсылаемый заданному серверу. URLом бывает означен либо
весь отклик в целом (если <путь-объекта> пуст), либо всего лишь
некоторый объект внутри отклика (если <путь-объекта> не пуст).
Примеры:
faqserv://2:5054/83/ELINE/blath/Feainnewedd (объект)
faqserv://2:5054/83/TNT (<путь-объекта> пуст)
faqserv://2:5054/83/TNT_FAQ/ (<путь-объекта> пуст)
Если часть <запрос> присутствует в faqserv-адресе, подразумевается
получение сообщения (или нескольких сообщений) нетмейлом. Однако
большинство вспомогательных технических и декоративных элементов
нетмейла (то есть таглайны, тиарлайны, строки ориджинов, подписи,
приветствия, и т. п.) СЛЕДУЕТ устранить из текста ответа, когда
нетмейл будет получен и отклик из него станет извлекаться. Полезно
помнить, что отклик МОЖЕТ располагаться в нескольких сообщениях,
и его секции НАДОБНО избавить ото всех их обёрток прежде, чем они
будут окончательно собраны вместе.
Ресурсы, означенные в faqserv-адресах, могут появляться в качестве
элементов в сложных структурах данных (например, как объекты на
страницах гипертекста). Фидонетовским браузерам НАДОБНО кэшировать
извлечённые объекты и (или) нетмейловые письма-отклики с тем, чтоб
обеспечивалось немедленное отображение прежде уже запрашивавшихся
ресурсов.
textend.section
Ceterum censeo Diptaunum esse delendam! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Team В эхолисте ,,ё`` уместим] [Team А я меняю subj]
... Брак ── такая чудесная вещь, что нужно думать о ней всю жизнь. (Талейран)
textsection 10 of 10 of file FidoURL.rus.txt
textbegin.section
7.3.1. Необязательный параметр "bot"
-+----------------------------------
Иногда станция с FAQ-сервером не отвечает на запрос, если он
не адресуется к некоторому имени служебного робота. Такое
поведение является особенно естественным для тех станций, где
один и тот же адрес <zone>:<net>/<node>.<point>@<domain> бывает
в употреблении и у человеческих, и у автоматических адресатов,
или где сосуществуют несколько роботов (например, FAQ-робот
и ареафиксирующий робот).
В таких случаях к faqserv-адресу добавляется необязательный
параметр "bot". Значение необязательного параметра "bot" задаёт
имя необходимого адресата; оно ДОЛЖНО быть дословно скопировано
в соответствующее поле сообщения в нетмейловом запросе.
7.3.2. Будущие необязательные параметры
-+-------------------------------------
Будущие версии этого документа могут вводить ещё дальнейшие
необязательные параметры в faqserv-адресах, способствуя более
тесному контролю над отсылкою запроса (например, копировать ли
часть <запрос> из URLа в строку заголовка нетмейла, или в тело
сообщения).
7.4. Схема "fecho://"
-+-------------------
Фидонетовские файлэхи немного напоминают области эхопочты в смысле
передачи и распространения. Однако в них распространяются файлы
вместо сообщений. Файлэхою называется разделяемая база файлов,
снабжённых общим ареатагом (идентификатором файлэхи)
и распространяемых через Фидонет по иерархическим и (или)
p2p-подобным соединениям между отдельными системами Фидонета
(узловыми и пойнтовыми).
URLы fecho имеют вид:
fecho://<areatag>/<путь-объекта>?<необязательная-часть>
Символ "/" имеет своё буквальное значение в необязательной части
URLов этой схемы. Символ "/" имеет зарезервированный смысл внутри
требуемой части URLа (<areatag>/<путь-объекта>), играя роль
разделителя между частями пути. Если <areatag> (ареатаг файлэхи)
содержит символ "/" в его буквальном значении, то этот символ
ДОЛЖЕН быть кодирован.
Если часть <путь-объекта> пуста, то fecho-адресом бывает означена
вся файлэха в целом.
Примеры:
fecho://aftnbinkd
fecho://XOFCELIST/
Если <путь-объекта> в fecho-адресе не пуст, то его <имя-объекта>
ДОЛЖНО также быть не пустым по определению, и оно указывает имя
файла, доступного как результат широкого вещания через указанную
файлэху.
Примеры:
fecho://aftnmisc/HATCHDIR.RAR
fecho://aftnged/RUGEDFAQ.RAR/gedplus.faq
fecho://FIDONEWS/FNEWSK19.ZIP/
fecho://aftnbinkd/BNDMAN.ZIP/man/gif/
Если <areatag> соответствует файлэхе, которая не доступна системе,
то означенный ресурс не доступен. МОЖНО спросить пользователя,
желает ли он подписаться на эту эху. Также МОЖНО использовать
FTP-зеркало файлэхи, если доступно интернетовское соединение
с таким зеркалом.
7.5. Схема "freq://"
-+------------------
Фидонетовские станции способны запрашивать файлы непосредственно
друг у друга; даже есть протокол распределённых файловых запросов,
предложенный в FSC-0071.
URLы freq имеют вид:
freq://<сервер>/<путь-объекта>?<необязательная-часть>
Символ "/" имеет своё буквальное значение в необязательной части
URLов этой схемы. Символ "/" имеет зарезервированный смысл внутри
необходимой части URLа (<сервер>/<запрос>/<путь-объекта>), играя
роль разделителя между частями пути. Однако внутри части <сервер>
символ "/" снова ДОЛЖЕН иметь своё буквальное значение и ДОЛЖЕН
появиться единожды (и только единожды!) как разделитель между
частями адреса сервера.
Часть <сервер> является обязательной и ДОЛЖНА присутствовать
в URLах freq. В этой части используется стандартная фидонетовская
запись адреса, <zone>:<net>/<node>.<point>@<domain>
(см. подробности в FSP-1004). Однако некоторые части адреса --
"<zone>:", "@<domain>" и (или) ".<point>" -- МОГУТ пропускаться
(опять же см. подробности в FSP-1004). Часть <сервер> в URLах
freq указывает фидонетовский адрес станции, которая предоставит
запрошенный файл.
Если <путь-объекта> пуст, то URLом freq бывает означена сама
станция как фидонетовская система, способная предоставлять файлы
по запросу.
Если <путь-объекта> в URLе freq не пуст, то его <имя-объекта>
ДОЛЖНО также не быть пустым по определению, и оно указывает имя
файла, запрашиваемого с дальней фидонетовской станции, указанной
в части URLа <сервер>. URLом бывает означен либо сам этот файл,
либо одна из внутренних частей файла (в соответствии со структурою
части <путь-объекта> в URLе).
Ресурсы, означенные во freq-адресах, могут появляться в качестве
элементов в сложных структурах данных (например, как объекты на
страницах гипертекста). Фидонетовским браузерам НАДОБНО кэшировать
запрошенные файлы по мере их получения с тем, чтобы обеспечивалось
немедленное отображение прежде уже запрашивавшихся ресурсов.
7.5.1. Будущие необязательные параметры
-+-------------------------------------
Будущие версии этого документа могут вводить ещё дальнейшие
необязательные параметры во freq-адресах, способствуя более
тесному контролю над тем, как запрашивается файл. Например,
некоторые станции Фидонета МОГУТ отказываться отвечать или
откладывать ответ на запрос файла, посланный в некоторое
неприемлемое время суток или день недели; таким образом, МОГУТ
появиться один или два параметра для указания того времени и дня
недели, которые сделают файловый запрос сравнительно безопасным.
Программам, обрабатывающим URLы freq, НЕ СЛЕДУЕТ быть уверенными
насчёт того, безопасно ли игнорировать любой из им не известных
параметров. Некоторые из будущих расширений могут поразительно
переменить шансы на успех файлового запроса, особенно если такой
параметр будет управлять временем файлового запроса.
Если незнакомый параметр встретился в URLе freq, СЛЕДУЕТ всегда
спрашивать пользователя о том, может ли этот параметр быть
проигнорирован с лёгким сердцем.
**********************************************************************
EOTD END OF THE DOCUMENT
**********************************************************************
textend.all
Ceterum censeo Diptaunum esse delendam! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Team В эхолисте ,,ё`` уместим] [Team А я меняю subj]
... Если это выдержишь ты, то страна уж точно. =) (Олег Лобачёв в Sunny.Night)
MtW> * изначально написано в эхоконференцию RU.FTN.DEVELOP
MtW> * также было отослано в эхоконференцию CU.TALK
MtW> * также было отослано в эхоконференцию GANJANET.LOCAL
MtW> * также было отослано в эхоконференцию RU.FIDO.WWW
MtW> * также было отослано в эхоконференцию RU.FIDONET.TODAY
MtW> * также было отослано в эхоконференцию SU.FIDOTECH
MtW> * также было отослано в эхоконференцию TITANIC.BEST
А запостить это _в одном месте_, кинув в другие эхи гиперссылки нельзя было?
Нету соответствующего стандарта?
`-._ --- Alexander Kocharin ---
AK> А запостить это _в одном месте_, кинув в другие эхи гиперссылки нельзя
AK> было? Hету соответствующего стандарта?
Тебе наверно лень все это было читать на двух языках в каждой эхе? :-))
Я в RU.FTN.WINSOFT запостил инфо - кому надо найдут, гиперссылки для инетчиков
))
AK>> А запостить это _в одном месте_, кинув в другие эхи гиперссылки
AK>> нельзя было? Hету соответствующего стандарта?
MA> Тебе наверно лень все это было читать на двух языках в каждой эхе?
MA> :-))
Нет, мне интересны причины, по которым мсье не пользуется своим стандартом. :-)
10 Feb 07 19:30, Michael Alekseyev -> Alex Kocharin:
MA> Я в RU.FTN.WINSOFT запостил инфо - кому надо найдут, гиперссылки для
MA> инетчиков ))
А как же фидошники без гиперссылок?!...
С уважением, Jenya
--=== [ ] ===--
MA>> Тебе навеpно лень все это было читать на двух языках в каждой эхе?
MA>> :-))
AK> Hет, мне интеpесны пpичины, по котоpым мсье не пользуется своим
AK> стандаpтом. :-)
Заслушаем месье о ходе pабот? )
WBR,
11 февpаля 07
* : *
--=== [ ] ===--
MA>> Я в RU.FTN.WINSOFT запостил инфо - кому надо найдут, гипеpссылки
MA>> для инетчиков ))
JD> А как же фидошники без гипеpссылок?!...
А никак. Пока фигхай Mithgol'a не будет им pеализован им же самим, как и
обещано, в пpоге :))) Я не сомневаюсь, что твоpческий потенциал Mithgol'a не
заканчивается эпистоляpным контентом Фигхая.
Ответ на письмо датированное <10 Фев 07>, Mithgol the Webmaster -> All:
А зачем гипертекстовый фидонет? Я вот лично не очень понимаю необходимость
такого решения: Это в любом случае повлечет увеличение передаваемой информации
между узлами сети. Да и оно вообще надо? :) По-моему Фидо и так неплохо
живется, ИМХО.
*С уважением,* _Яковлев Андрей_
*e-mail:* andrew_club(at)bk.ru
*icq:* 167-867-697
Так было 01:35 12 Feb 07 написано от Andrei Yakovlev к Mithgol the Webmaster:
AY> А зачем гипертекстовый фидонет? Я вот лично не очень понимаю
AY> необходимость такого решения: Это в любом случае повлечет увеличение
AY> передаваемой информации между узлами сети. Да и оно вообще надо? :)
AY> По-моему Фидо и так неплохо живется, ИМХО.
А вот за этим:
╔═════════════════════════════════════════════════════────────────────────────
║ Цитата из эхи: RU.FIDONET.TODAY (Как поживает cегодня Фидо)
║ Автор и время: Mithgol the Webmaster, 2:5063/88 (10 Feb 07 14:12)
║ Кому написано: Dmitriy Ksenchak
║ Заглавие темы: Пpивлечение пользователей в Фидонет
╚════════════════════════════════════════════════════════════════════─────────
@MSGID: 2:5063/88 45cda89a
Так было 11:54 09 Feb 07 написано от Dmitriy Ksenchak к Evgeny Levinskiy:
DK> Один хрен - люди теперь уже в наше время не понимают в чем прикол
DK> общения "без картинок".
Отсюда вывод: нужно, чтобы в Фидо были картинки. А отсюда дальнейший вывод:
нужно, чтобы в Фидо был гипертекст. А отсюда дальнейший вывод: нужно, чтобы
ресурсы Фидонета (в том числе картинки) можно было адресовать при помощи URLов,
поскольку именно URLы используются в гипертексте. А отсюда дальнейший вывод:
нужно, чтобы существовал стандарт на запись URLов Фидонета. А отсюда дальнейший
вывод: нужно сперва начертать черновик такого стандарта, а затем отослать его
непосредственно в FTSC, в Комитет по техническим стандартам Фидонета.
Что я и сделал.
Ceterum censeo Diptaunum esse delendam! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Team В эхолисте ,,ё`` уместим] [Team А я меняю subj]
... 33. Братание с солдатами. (Джин Шарп, ,,От диктатуры к демократии``)
■■■ В чём сакс мастдая? --- В том, что рулезы его фич глючат.
√ Origin: Заменяем чипы - RAM на ROM - заземлённым острым топором (2:5063/88)
────────────────────────════════╪══Ў═╣()╠═Ў══╪════════────────────────────────
... Гений ── это талант умершего человека. (Эдмон Гонкур)
Было написано _Mithgol the Webmaster_ для _Andrei Yakovlev_
DK>> Один хрен - люди теперь уже в наше время не понимают в чем прикол
DK>> общения "без картинок".
MW> Отсюда вывод: нужно, чтобы в Фидо были картинки. А отсюда дальнейший
MW> вывод: нужно, чтобы в Фидо был гипертекст. А отсюда дальнейший вывод:
MW> нужно, чтобы ресурсы Фидонета (в том числе картинки) можно было
MW> адресовать при помощи URLов, поскольку именно URLы используются в
MW> гипертексте. А отсюда дальнейший вывод: нужно, чтобы существовал
MW> стандарт на запись URLов Фидонета. А отсюда дальнейший вывод: нужно
MW> сперва начертать черновик такого стандарта, а затем отослать его
MW> непосредственно в FTSC, в Комитет по техническим стандартам Фидонета.
Отсюда вывод, что те кому общение без картинок не мило - пусть топают в
интернет. Лично мне, а ИМХО и многим тысячам людей, общение без картинок
совершенно ничем не мешает. Если будет голосование я за это дело не проголосую
точно. А если будут столь кардинально менять стандарт и (не дай Бог) включать
его в полиси, то точно чуть ли не референдум устроят...
MW> Что я и сделал.
Ты конечно жуть как крут - желаю тебе удачи в твоем нелегком деле :) Hо реально
твои действия рассматривать можно будет, когда ты реализуешь свой стандарт с
урлами не только в виде текста, а еще и в виде ПО и протоколов, да еще причем
не в бета-версиях, а в стабильной ветке, оттестированное добровольцами в
течение 2-3 лет, как минимум. Вот тогда я и множество участников сообщества
ФидоHет подумают о том чтобы это пользовать. Если интересно - почитай о том,
как Фидо переходила на ИП протоколы Кстати ip-only до сих пор не легализован в
полиси, и основной, обязательной связью, является модемная (а ты о
гипертексте).
AY> Отсюда вывод, что те кому общение без картинок не мило - пусть топают
AY> в интернет. Лично мне, а ИМХО и многим тысячам людей, общение без
AY> картинок совершенно ничем не мешает. Если будет голосование я за это
AY> дело не проголосую точно. А если будут столь кардинально менять
AY> стандарт и (не дай Бог) включать его в полиси, то точно чуть ли не
AY> референдум устроят...
В полиси не внесут ну никак... :-)
Было написано _Alex Kocharin_ для _Andrei Yakovlev_
AY>> Отсюда вывод, что те кому общение без картинок не мило - пусть
AY>> топают в интернет. Лично мне, а ИМХО и многим тысячам людей,
AY>> общение без картинок совершенно ничем не мешает. Если будет
AY>> голосование я за это дело не проголосую точно. А если будут столь
AY>> кардинально менять стандарт и (не дай Бог) включать его в полиси,
AY>> то точно чуть ли не референдум устроят...
AK> В полиси не внесут ну никак... :-)
Ободрение тех. стандарта - это де факто реализация его в полиси, т.к. если
какой-то стандарт там явно не запрещен, то он - разрешен.
11 Feb 07 09:12, you wrote to Jenya Dyatlov:
MA>>> Я в RU.FTN.WINSOFT запостил инфо - кому надо найдут, гипеpссылки
MA>>> для инетчиков ))
JD>> А как же фидошники без гипеpссылок?!...
MA> А никак. Пока фигхай Mithgol'a не будет им pеализован им же самим, как
MA> и обещано, в пpоге :))) Я не сомневаюсь, что твоpческий потенциал
MA> Mithgol'a не заканчивается эпистоляpным контентом Фигхая.
Понять не могу.. Если весь шум из-за гиперссылок - чем вас ньюсы не устраивают?
Работают они там распрекрасно, только мышкой щюлкнуть надо :)
Dmitriy