Примеры сетевых топологий

         

Текст


Пробел

Спецификация SGML делает различие между начальным символом (перевод строки) и концом записи (возврат каретки). Но существует большое разнообразие использования этих символов в различных системах и агент пользователя должен быть способен корректно обрабатывать все варианты. Аналогично меняется от скрипта к скрипту представление о том, что такое разделитель слов. В латинских текстах это пробел (десятичный код 32), в японском и китайском пробел игнорируется, а в тайском используется нуль-сепаратор. Что же касается самого HTML, здесь функции сепаратора выполняет код пробела. Набор символов документа включает в себя широкое разнообразие символов пробела. Многие из них являются типографскими элементами, которые служат для формирования зазоров между словами или буквами. В HTML, определены только следующие символы пробела:

ascii пробел ( )

ascii tab (	)

ascii form feed ()

пробел нулевой ширины (​)

Разрыв строки также является пробелом. Заметьте, что 
 и 
 определенные в [ISO10646] для разделения строк и параграфов, соответственно, не являются разрывами строк в HTML.

Пример текста:

<p>
this example shows a paragraph and a list
</p>
<ul>

<li>
the <em>первый</em> item
</li>
<li>

this is the <em>второй</em> item
</li>
</ul>

текст может быть переписан с пропуском конечных меток и размещен иначе с использованием меньшего числа пробелов.

<p>this example shows a paragraph and a list
<ul>

<li> this is <em>первый</em> item

<li> this is <em>второй</em> item

</ul>

Элемент pre используется для уже сформатированных фрагментов текста, где важны пробелы.

9.1. Структурированный текст

Элементы фраз: em, strong, dfn, code, samp, kbd, var, cite, acronym
<!entity % phrase "em | strong | dfn | code | samp | kbd | var | citr | acronym">
<!element (%font|%phrase) - - (%inline) *>

<!attlist (%font|%phrase)-- %coreattrs, %i18n, %events -- >




Элементы фраз добавляют структурную информацию к текстовым фрагментам. Элементы фраз имеют следующие значения:
em:Подчеркивают значение.
strong:Указывает на еще большую важность (придает выразительность)
dfn:Указывает, что это место определения вложенного термина.
code:Отмечает фрагмент текста программы.
samp:Выделяет пример из текста программы или скрипта.
kbd:Отмечает текст, который должен быть введен пользователем.
var:Отмечает переменную или аргумент программы
cite:Ссылается на фрагмент текста или другой источник.
acronym:Отмечает акроним (напр. HTML, URI, WWW и т.д.).


EM и strong весьма привлекательны для подчеркивания важности фрагмента текста. Приведенный ниже пример позволяет проиллюстрировать использование некоторых элементов фраз.

"More information can be found in <cite>[ISO-0000]</cite>
"Please refer to the following reference number in future correspondence:
<strong>1-234-55</strong>"

Элемент acronym позволяет упростить работу программ проверки правописания и звуковых синтезаторов речи. Текст элемента acronym позволяет описать сам акроним:

<acronym title="world wide web">www</acronym>
<acronym lang="fr" title ="soci&eacute;t&eacute; nationale de chemins de fer"> sncf
</acronym>

Представление элементов фраз зависит от агента пользователя. Визуальные броузеры отмечают фрагменты текста EM курсивом, а фрагменты strong - полужирным шрифтом. HTML не выделяет аббревиатур и акронимов, по этой причине в текстах, ориентированных на звуковое воспроизведение, следует позаботиться о создании специальных словарей, подключенных к тексту с помощью элементов link в заголовке документа.

9.2. Цитирование. Элементы q и blockquote

<!element blockquote - - %block>
<!attlist blockquote %attrs;-- %coreattrs, %i18n, %events --
cite %url #implied-- url исходного документа или сообщения -- >


<!element q - - (%inline) *>
<!attlist q %attrs;-- %coreattrs, %i18n, %events --
cite %url #implied-- url исходного документа или сообщения -- >


Определения атрибутов

cite=url

Значение этого атрибута равно url, который указывает на первоисточник или сообщение. Аргумент указывает на источник цитаты, заключенной в кавычки. Элемент q служит для использования с короткими цитатами в пределах абзаца, а blockquote предназначен для более длинных. Например:

<blockquote cite=>
they went in single file, running like hounds on a strong scent, and an eager light was in their eyes.
</blockquote>

9.3. Верхние и нижние индексы. Элементы sub и sup

<!element (sub|sup) - - (%inline) *>
<!attlist (sub|sup) %attrs;-- %coreattrs, %i18n, %events -->


Например, французское "mlle dupont" можно представить в HTML как:

m<sup>lle</sup> dupont


Терминала


Задачи распознавания минимального набора путей и разрезов, сопряженные с 2-терминальной мерой, являются проблемами кратчайшего пути и минимального разреза, соответственно. Известны полиномиальные алгоритмы для обеих этих задач. Валиант впервые показал, что задачи анализа надежности в случае 2-терминальной меры имеют сложность NP. Его результаты, которые мы описываем, являются хорошей иллюстрацией методик, используемых в данной области. Доказательство, приведенное ниже, зиждется на сведении проблемы вычисления SN(K) к задаче анализа 2-терминальной рациональной надежности:

Пусть дан граф G = (N,A) с исходным узлом s и набором терминальных вершин K. Построим граф Gґ, добавив к исходному графу узел t и дуги (u,t) для каждого uОK. Присвоим вероятность отказа 1-p всем ребрам (u,t), а всем дугам исходной сети присвоим вероятность отказа 0,5. Заметим, что если все дуги из А имеют одинаковую вероятность отказа, равную 0,5, то все случайные состояния дуг из А, будет иметь вероятность (1/2)|A|. Если через Ai обозначить число субграфов в G, в которых s соединена ровно с i узлами из K, то можно записать Pr[Rel(G`;s,t)]= ?i? SНK,|S|=iPr[существует рабочий путь от s к S, но не работают остальные K-S узлов, а (u,t) работают для всех uОS] = 2-|E|?Ai(1-pi). Сделав оценку такой надежности для |K| различных значений p, мы можем записать систему из |K| уравнений с |K| неизвестными величинами Ai. Отсюда мы можем найти Ai. Сведение завершено, т.к. A|K|=SN(K). Такое сведение показывает, что сложность рациональной задачи соответствует NP. Немногим сложнее доказать, что задача функциональной надежности имеет сложность NP.



Терминология


В этом документе используются следующие термины:

УслугаNAS обеспечивает пользователю, подключенному через модем, определенные услуги, такие как PPP или Telnet.
СессияКаждый вид услуг, предоставляемый NAS через модемную связь, представляет собой сессию. Начало сессии сопряжено с моментом начала предоставления данной услуги, а конец - со временем завершения этого процесса. Пользователь может иметь несколько сессий одновременно, если сервер поддерживает такой режим.

Молчаливое удаление (silently discard)

Это означает, что программа выбрасывает пакет без какой-либо обработки. Программная реализация должна предоставлять возможность диагностирования таких случаев и записи их статистики.



Типы пакетов


Тип пакета RADIUS определяется полем тип, размещенным в первом октете.



Точное вычисление надежности


В этом разделе мы изучим алгоритмы точного вычисления мер надежности. Выше было показано, что для сетей в целом все меры надежности, представляющие интерес, являются #P-полными. Поэтому мы исследуем два основных направления: точные алгоритмы с экспоненциальным временем для общих сетей, и точные алгоритмы с полиномиальным временем для ограниченного класса сетей.

Оба этих направления опираются на простое, но важное соображение: существует такое преобразование графа, которое не меняет значений различных мер надежности, и это преобразование может быть использовано для упрощения топологии сети, для которой нужно вычислить точное значение надежности. Наша первая тема - такие преобразования графов с целью их упрощения.



Точное вычисление некоторых коэффициентов


В разделе 2.3 мы показали, что возможность вычисления размера набора проходов l с минимальной мощностью и размера с набора разрезов с минимальной мощностью делает возможным точное определение числа коэффициентов. Когда l эффективно вычислимо, дальнейшая информация может быть часто получена с помощью вычисления Nl. В k-терминальной проблеме это по правде безнадежно, так как нужно подсчитать минимальное число деревьев Штайнера, что является #P-сложной задачей. В двух других случаях, однако, эффективные алгоритмы существуют.

Во всетерминальной проблеме Ni.равно числу деревьев связи. Кирхофф в 1847 разработал элегантный метод подсчета деревьев связи; он был разработан в форме, удобной для реализации на ЭВМ. В двухтерминальной проблеме Ni равно числу наикратчайших s,t-проходов. Болл и Провен разработали эффективную стратегию для вычисления этого числа. Было установлено, что для любого фиксированного kі 0, набор проходов размера l+k в двухтерминальной проблеме может быть эффективно вычислен.

Эффективный алгоритм для вычисления с дает нам возможность также определить точно число дополнительных коэффициентов. Эта проблема легко решаема во всех трех случаях, представляющих интерес, с использованием идентичного метода в каждом из случаев. Теорема Менгера гарантирует, что минимальный s,t-разрез имеет в точности размер с, когда максимальное число s,t-проходов с разъединенными ребрами равно с. Эта проблема легко адаптируется для задачи сетевых потоков со всеми ребрами, имеющими полосу (пропускную способность) равную 1.

Имея вычисленное с, было бы интересно вычислить Cc, число наборов разрезов минимальной мощности. Прован и Болл показали, что в двухтерминальном случае вычисление лишь этого коэффициента является #P-сложным; так как k-терминальная проблема включает в себя двухтерминальную проблему. Однако для всетерминальной проблемы был разработан метод эффективного вычисления Cc. Ломоносов и Полесски [М.V.Lomonosov and V.P.Polesskii, “Lower bound of network reliability”, Problems of Information Transmission, 8 (1972), 118-123] показали, что каждый n-узловой граф G имеет

. Кроме того, замечено, что для любого i и любого ребра е графа G Ci(G)=Ci(G Чe)+Ci-1(G-e). Эти два факта были использованы, чтобы разработать эффективный метод для подсчета наборов разрезов размера c+k для любого фиксированного k і 0.



Удаленный доступ пользователя на указанную ЭВМ (Telnet)


Сервер NAS с адресом 192.168.1.16 посылает запрос Access-Request в UDP пакете серверу RADIUS для пользователя с именем NEMO, подключаемого к порту 3.

Code = 1 (Access-Request)
ID = 0
Request Authenticator = {16-октетное случайное число}
Атрибуты:
User-Name = "NEMO"

User-Password = {16-октетный пароль, дополненный в конце нулями и объединенный операцией XOR с MD5(общий секретный пароль|Request Authenticator)}

NAS-IP-Address = 192.168.1.16
NAS-Port = 3

Сервер RADIUS аутентифицирует NEMO и посылает запрос Access-Accept в UDP пакете серверу NAS, требуя от него организации удаленного доступа пользователя NEMO к ЭВМ с заданным адресом.

Code = 2 (Access-Accept)
ID = 0 (то же самое, что и в Access-Request)
Response Authenticator = {16-октетная контрольная сумма MD-5 кода (2),

id (0), приведенного выше Request Authenticator, атрибутов этого отклика и общего секретного пароля }

Атрибуты:
Service-Type = Login-User
Login-Service = Telnet
Login-Host = 192.168.1.3



Удаленный доступ (Telnet)


Семёнов Ю.А. (ГНЦ ИТЭФ), book.itep.ru

TELNET позволяет пользователю установить TCP-соединение с сервером и затем передавать коды нажатия клавиш так, как если бы работа проводилась на консоли сервера. TELNET (RFC-854, в некоторых реализациях tn) служит для выполнения удаленного доступа к вычислительным ресурсам и базам данных (например, к базам ядерных данных в Вене, Брукхейвене или STN-international в Карлсруэ). Для входа в базу данных или ЭВМ обычно нужна аутентификация (ввод имени-идентификатора пользователя и его слова-пропуска). В некоторых реализациях допускается использование параметров, которые подключают необходимые эмуляторы терминалов.

TELNET предлагает три услуги:

Определяет сетевой виртуальный терминал (NVT - network virtual terminal), который обеспечивает стандартный интерфейс к удаленной системе.

Включает механизм, который позволяет клиенту и серверу согласовать опции обмена

Обеспечивает симметрию соединения, допуская любой программе (например FTP) выступать в качестве клиента

Протокол TELNET позволяет обслуживающей машине рассматривать все удаленные терминалы как стандартные "сетевые виртуальные терминалы" строчного типа, работающие в кодах ASCII, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т. д.). На прикладном уровне над TELNET находится либо программа поддержки реального терминала, либо прикладной процесс в обслуживающей машине, к которому осуществляется доступ с терминала. Формат NTV достаточно прост. Для данных используются 7-битовые ASCII коды. 8-битовые же октеты зарезервированы для командных последовательностей.

Telnet взаимодействует с другой ЭВМ через протокол TELNET. Если команда TELNET вводится без аргументов ЭВМ переходит в командный режим, напечатав приглашение telnet>. В этом режиме она воспринимает и исполняет команды, описанные ниже.

При вводе TELNET с аргументами программа осуществит связь вашей ЭВМ с удаленным компьютером, имя или адрес которого вы ввели в качестве одного из аргументов.


После того как TELNET связь установлена, начинаются переговоры об используемых опциях (см. табл. 4.5.3.1). Каждая из договаривающихся сторон может послать другой один из четырех запросов will, do, wont и dont (см табл. 4.5.3.4).

Далее TELNET переходит в режим ввода. В этом режиме любой введенный текст пересылается удаленной ЭВМ. Ввод может производиться посимвольно или построчно. При посимвольном режиме каждый введенный символ пересылается немедленно, при построчном режиме отклик на каждое нажатие клавиши производится локально, а пересылка выполняется лишь при нажатии клавиши <Enter>. Некоторые опции требуют дополнительных данных, такая информация ожет быть получена с помощью субопций (RFC-1091). При этом клиент посылает трехбайтовую последовательность IAC WILL 24, где 24 - код-идентификатор терминала. Получатель может откликнуться последовательностью IAC DO 24, если все в порядке. Сервер в свою очередь посылает последовательность IAC SB 24 1 IAC SE, запрашивая тип терминала клиента. Здесь код 24 означает, что это субопция для опции типа терминала (см. табл. 4.5.3.1), а следующая 1 является командой "пришлите код вашего терминала". Клиент в свою очередь может откликнуться, послав последовательность - IAC SB 24 0 I B M P C IAC SE. Здесь байт 0 имеет значение "мой терминал имеет тип". Список кодов терминалов содержится в RFC-1700.

Таблица 4.5.3.1. Коды опций в Telnet
Код опции в TelnetОписаниеНомер RFC
0Двоичный обмен856
1Эхо857
2Повторное соединениеNIC 15391
3Подавление буферизации ввода858
4Диалог о размере сообщенияNIC 15393
5Статус859
6Временная метка860
7Удаленный доступ и отклик726
8Длина выходной строкиnic 20196
9Размер выходной страницыnic 20197
10Режим вывода символов <возврат каретки>652
11Вывод горизонтальной табуляции653
12Установка положения табуляции при выводе654
13Режим вывода команды смены страницы655
14Вывод вертикальной табуляции656
15Определяет положение вертикальной табуляции657
16Режим вывода символа <перевод строки>658
17Расширенный набор кодов ASCII698
18Возврат (logout)727
19Байт-макро735
20Терминал ввода данных732
21Supdup736
22Supdup вывод747
23Место отправления779
24Тип терминала930
25Конец записи885
26Tacacs- идентификация пользователя927
27Пометка вывода933
28Код положения терминала946
29Режим 32701041
30X.3 PAD1053
31Размер окна

1073
<


/p> Когда связь с удаленной ЭВМ уже осуществлена, переход в командный режим может быть выполнен с помощью нажатия '^]' (escape).

В этом режиме доступны команды:
open имя_ЭВМ [ порт ]open открывает связь с ЭВМ, имя которой указано в обращении. Если номер порта явно не указан, telnet пытается использовать для связи с сервером номер порта по умолчанию. Вместо имени ЭВМ-сервера может использоваться ее IP-адрес.
display [ аргумент ... ]Отображает все, или часть, набора параметров telnet (см. описание команды send).
closeЗакрывает сессию telnet и возвращает систему в командный режим.
quitЗакрывает любую сессию telnet.
mode typeУправляет режимом ввода ("построчный" или "посимвольный"). Удаленной машине посылается запрос на переход в соответствующий режим. Если она готова (способна) работать в запрошенном режиме, будет произведено соответствующее переключение.
statusОтображает текущий статус telnet. В перечень информации входит имя удаленной ЭВМ и действующий режим обмена.
? [ команда ]Выдает справочную информацию о команде, название которой приведено в качестве аргумента
send argumentsПосылает удаленной ЭВМ один или несколько символьных аргументов. В качестве аргументов могут использоваться: escape, synch, brk, ip, ao, ayt, ecel, ga и др. Смотри таблицу 4.5.3.3.
escapeПосылает escape символ (например, `^]').
SYNCHПосылает synch-последовательность. Эта последовательность позволяет аннулировать все, что было до этого напечатано, но еще не считано. Эта последовательность посылается как срочная (важная) TCP-информация (может не сработать, если удаленной системой является 4.2 BSD). Если она не сработала, на терминал будет послан символ "r".
brkПосылает Break-последовательность при нажатии клавиши Break (Pause). (Исчерпывающую информацию об аргументах можно найти в описании используемого программного обеспечения или с помощью команд Help или Man)
set argument valueПрисваивает любому числу переменных telnet новые значения. Специальное значение "off" выключает функцию, соответствующую данной переменной




Значения переменных можно узнать с помощью команды display. Такими переменными могут быть: echo, escape, interrupt, quit, flushoutput, erase, kill, eof, echo. Последняя переменная (в исходном состоянии `^E') в построчном режиме осуществляет переключение между локальным эхо на ввод символа (режим по умолчанию) и подавлением эхо, например при вводе пароля. Переменные процедуры telnet представлены в таблице 4.5.3.2.

Практически стандарт TELNET описан во многих RFC документах, которые определяют различные варианты реализации этой команды. Список опций команды telnet приведен в таблице 4.5.3.1 (не все эти возможности доступны в конкретных программных продуктах).

Таблица 4.5.3.2. Переменные telnet

Название переменнойНазначение
Echo

Определяет, будет ли отображаться на экране то, что вы вводите с клавиатуры. При значении off ввод не отображается, например, при вводе пароля.
EscapeЗадает символ, который используется в качестве escape. Появление этого символа во входном потоке заставляет его и последующие символы интерпретироваться в ЭВМ, где функционирует процесс telnet, как команда
InterruptСпецифицирует символ прерывания процесса. Ввод его приводит к остановке процесса пользователя, работающего на удаленной ЭВМ.
QuitСпецифицирует символ, который используется пользователем на его клавиатуре для выполнения команд brake или attention.
Flushoutput

Определяет символ, который служит для прерывания процедуры вывода на удаленной ЭВМ.
EOFСпецифицирует символ, который используется для обозначения конца файла на удаленной машине.


Таблица 4.5.3.3. Последовательности символов, используемые совместно с командой send

Последовательность символовНазначение
?Отображает справочную информацию о команде send
escapeПосылает символ escape (без прерывания посылки символов для Telnet)
ipПосылает протокольную последовательность telnet. Удаленная машина должна прервать процесс, запущенный для вас.
ecПосылает протокольную EC-последовательность telnet. Удаленная ЭВМ должна стереть последний напечатанный вами символ
elПосылает протокольную EL-последовательность TELNET. Удаленная ЭВМ должна стереть последнюю напечатанную вами строку.
aoПосылает протокольную AO-последовательность TELNET. Удаленная ЭВМ должна направить весь вывод на ваш терминал.
brkПосылает протокольную BRK-последовательность TELNET. Удаленная ЭВМ должна обеспечить отклик.
aytПосылает протокольную AYT-последовательность TELNET (Are You There). Удаленная ЭВМ должна обеспечить отклик.
<


/p> В таблице 4.5.3.4 представлены наименования и коды команд Telnet, которые используются как клиентом, так и сервером в сочетании с префиксным байтом 0xff (IAC - "интерпретировать как команду"). Если нужно послать код данных, равный 255, посылается два байта с кодами 255.

Таблица 4.5.3.4. Коды команд TELNET
Имя субкоманды TELNETКодОписание
EOF236Признак конца файла
SUSP237Отложить исполнение текущего процесса
ABORT238Абортировать процесс
EOR239Конец записи
NOP241Никаких действий
DM(Метка данных)242Блок данных процедуры SYNCH
BRK (Остановка)243brk-символ (break);
IP(Прерывание процесса)244IP-функция
io (Прерывание вывода)245AO-функция
AYT (Вы здесь?)246ayt-функция
EC (Стереть символ)247EC-функция
EL (Стереть строку)248EL-функция
GA (Продолжайте)249GA-функция
SB250Начало субопции
SE240Завершение согласования параметров (конец субопции)
Will ("будет")251Начало исполнения (опционно)
Won't (не будет)252Отказ исполнения или продолжения выполнения (опционно)
Do("исполнить")253Индицирует запрос, который другая система исполняет (опционно)
Don't ("Нет")254Требует, чтобы другая система остановила исполнение (опционно)
IAC255Интерпретируется как начало командной последовательности


Операция прерывание процесса (IP) позволяет прервать, удалить или завершить процесс пользователя (например, выйти из бесконечного цикла).

Процедура прерывание вывода (AO) позволяет процессу пользователя продолжаться, но вывод на его рабочую станцию прерывается, при этом очищается буфер от уже записанной, но не отображенной информации.

Запрос "Вы здесь?" (AYT) удобен, когда необходимо выяснить выполняется ли пользовательская задача или нет.

Операция стереть символ (EC) позволяет пользователю удалить символ из потока данных, применяется для редактирования текста на экране.

Операция стереть строку (EL) позволяет пользователю при редактировании удалить целую строку.

Команда "go ahead" (GA, "продолжайте") устанавливает полудуплексный режим передачи данных.


Каких- либо воздействий на удаленную ЭВМ обычно не производит. В таблице 4.5.3.5 приведен список комбинаций клавиш, нажатие которых вызывает определенный результат.

Таблица 4.5.3.5. Управляющие комбинации клавиш
Комбинация клавишДостигаемый результат
Ctrl+EEcho
Ctrl+]Escape
Ctrl+?Erase
Ctrl+Oflushoutput
Ctrl+CInterrupt (прерывание исполнения программы)
Ctrl+UKill
Ctrl+\Quit
Ctrl+DEOF


Блок данных процедуры TELNET содержит три байта и называется командой. Формат этого блока показан на рис. 4.5.3.1.



Рис. 4.5.3.1. Формат блока данных Telnet

Первый байт в соответствии с таблицей содержит 8 единиц, далее следует байт команды (табл. 4.5.3.4). Третий октет служит для размещения кода опции, он может и отсутствовать.

Рассмотрим несколько примеров этих команд. Допустим, вы хотите, чтобы обмен данными производился в виде 8-битовых посылок. Для реализации вашего пожелания достаточно выдать команду:

IAC WILL TRANSMIT-BINARY,

которая в цифровых кодах выглядит как - (255 251 0).

Для прекращения этого (двоичного) режима передачи нужно выдать команду:

IAC DON'T TRANSMIT-BINARY (255 254 0).

Субкоманды Telnet позволяют управлять откликом при работе с клавиатурой. Обычно отклик-эхо присылается удаленной ЭВМ, реже формируется локально. Для включения отклика можно выдать команду: IAC WILL ECHO (255 251 1) (часто это реализовано по умолчанию). Далее можете поупражняться самостоятельно и проверить какие команды и их опции доступны в используемом вами программном продукте.

При работе с Telnet рекомендуется сначала ознакомиться с конкретными возможностями команды с помощью описания (или F10/?). Это позволит вам, например, спасать результаты поиска в файле с указанным вами именем и т.д. Например, для PCTCP такая команда выдаст на экран:

Telnet with VT220 and 3270 emulation, escape character is alt-F10 or F10
Copyright (c) 1989-1992 by FTP Software, Inc. All rights reserved.
?display this help messageasends Telnet AYT request
^hdebugging command helpbsend Telnet Interrupt Process
owrite receive data to output filezsend Telnet Abort output
iread keystrokes from an input filetsend Telnet Break
cclose connection gracefully!escape to command interpret
q/Qquit current/all telnet connectionsIshow local internet address
Ftoggle build-in FTP-server on/offUturn status line on
Wtoggle FTP server write-protect modeuturn status line off
0-9switch to connection #sEnable pop-up TSR with hot-key
pSelect code page remappingSToggle screen-saver key-passing




-------------------------- VT220 emulator commands ------------------------------
REnter key send CRllocal echo mode
NEnter key send newline (CRLF)rremote echo mode
Esend characters as typedwturn end-of-line wrap on
E send line when ENTER is typeddturn end-of-line wrap off
B<-key sends BS; CTL_<-key sends DELset emulator mode (VT52|100|220)
D<- key sends DEL; CTL_<-key sends BS


---------------------------- 3270 emulator commands ----------------------------
yset Yale Null Processing off Yset Yale Null Processing on


[Press SPACE to return to session, or enter another command (? for Help]

Многие telnet-клиенты позволяют также указывать явно номер порта, через который должна быть установлена связь. По умолчанию это порт 23. Обычный пользователь не интересуется, через какой порт он работает. Но иногда желательно реализовывать telnet через разные порты системы, обеспечивающие различные услуги, это бывает полезно и с отладочными целями. Используя команду:

telnet XXXXXX.domain <номер порта>

можно осуществить связь через порт с заданным номером с узлом XXXXXX.domain. Многие библиотеки используют метод портов для обеспечения доступа к своим ресурсам внешних Inernet-пользователей. Ссылки на RFC-документы по протоколу TELNET смотрите в . Помимо telnet существуют и другие стандартные процедуры, выполняющие схожие задачи.

SUN Microsistems разработала и широко использует программный модуль RPC (Remote Procedure Call, RFC-1057), он используется для удаленного вызова программ почти во всех системах, базирующихся на UNIX. RPC может использоваться как на TCP, так и UDP транспортных уровнях.

Для удаленного исполнения программ может служить команда REXECD, которая активно используется на IBM-системах в рамках ОС AIX и DOS. Уязвимость протокола Telnet для хакеров привела к тому, что в последнее время эта утилита часто заменяется (Secure Shell) или другими программами, обеспечивающими безопасный удаленный доступ.


UDP упрощает реализацию сервера


В ранних реализациях RADIUS сервер поддерживал один процесс (single threaded). Это означает, что только один запрос принимался, обрабатывался и отправлялся. Это оказалось неприемлемым для сред, где механизм обеспечения безопасности требует определенного времени (1 или более секунд). Очередь запросов в сервере будет значительной и в средах, где сотни людей требуют аутентификации каждую минуту, время обслуживания запроса становится настолько большой, что начинает нервировать пользователей. Очевидным решением проблемы является многопроцессный сервер. Достичь этого проще всего с помощью UDP. Порождаются отдельные процессы для обслуживания каждого запроса, а эти процессы могут напрямую взаимодействовать с клиентом NAS путем отправки UDP-пакета.

Это не панацея. Применение UDP требует организации повторных передач, для чего нужно на сервере запускать соответствующие таймеры. В этом UDP уступает TCP, но это небольшая плата за полученные преимущества.



Установка для связей адресов по умолчания


Когда многие связи в документе указывают на один и тот же адрес, имеется возможность специфицировать адрес только один раз, а ссылки обеспечить путем введения атрибута target в нужные элементы. Это делается путем установки атрибута target элемента base. Рассмотрим предыдущий пример с этой точки зрения.

<html>
<head>
<base target="dynamic">
</head>
<body>
… начало документа …

now you may advance to <a href="slide2.html">slide 2.</a>
… продолжение документа …
you're doing great. now on to
<a href="slide3.html">slide 3.</a>
</head>
</html>

Существует несколько методов сделать рамку адресом связи.

Если элемент имеет атрибут target, указывающий на известную рамку, тогда при активации элемента, документ связанный с этим элементом, будет загружен в данную рамку.

Если элемент не имеет атрибута target и имеет элемент base, тогда именно base определяет рамку, куда будет произведена загрузка.

Если элемент и base не имеют атрибута target, документ, соответствующий элементу, будет загружен в рамку, содержащую этот элемент.

Если любой адрес (target) указывает на рамку f, агент пользователя создаст новое окно и рамку, припишет имя f этой рамке и загрузит документ, соответствующий элементу, в эту новую рамку.

Имя рамки должно начинаться с буквы (a-za-z). Агент пользователя должен игнорировать любые другие имена. Существует несколько имен, зарезервированных для специальных целей.

_blankагент пользователя должен загрузить документ в новую безымянную рамку.
_self

агент пользователя должен загрузить документ в ту же рамку, что и элемент, который ссылается на этот адрес (target).

_parentагент пользователя должен загрузить документ в frameset, породивший текущую рамку. Это значение эквивалентно _self, если текущая рамка не имеет прародителя.
_topагент пользователя должен загрузить документ в полное исходное окно. Значение эквивалентно _self, если текущее окно не имеет прародителя.

Агенты пользователя, которые не поддерживают рамки, должны отображать секцию body, которая следует за самым внешним frameset документа. Агенты пользователя, которые поддерживают рамки, должны игнорировать эту секцию body.



Верификация документов


Многие разработчики при проверке своих документов полагаются на ограниченное число броузеров, предполагая, что если эти броузеры могут работать с их документами корректно, то они лишены ошибок. К сожалению, это очень неэффективный способ верификации документов, прежде всего из-за того, что многие броузеры приспособлены работать с не вполне корректными документами.

Для более тщательной проверки рекомендуется воспользоваться интерпретатором SGML, например, в случае проверки соответствия документа требованиям HTML 4.0 DTD это может быть NSGMLS. Если декларации типа в вашем документе включают URI, и ваш интерпретатор SGML поддерживает этот тип системных идентификаторов, то он получит DTD (Document Type Definition) непосредственно. В противном случае можно воспользоваться каталогом образцов SGML.

Предполагается, что DTD спасено в виде файла "strict.dtd", а объекты (entities) записаны в файлы "htmllat1.ent", "htmlsymbol.ent" и "htmlspecial.ent". В любом случае следует проверить то, что ваш интерпретатор SGML может работать с уникодами.

Следует иметь в виду, что такая проверка, хотя и полезна и настойчиво рекомендуется, не может гарантировать полного соответствия документа требованиям спецификации HTML 4.0. Это происходит потому, что интерпретатор SGML базируется на определенных SGML DTD, не выражают всех аспектов истинного документа HTML 4.0. Интерпретатор SGML гарантирует, что синтаксис, структура, список элементов и их атрибутов соответствуют рекомендациям стандарта. Но он не может, например, обнаружить ошибки при установке атрибута ширины элемента IMG. Хотя спецификация ограничивает значение атрибута "целым числом пикселей"," DTD определяет только то, что это cdata, что практически допускает любые значения. Только специализированная программа способна выловить все несоответствия с HTML 4.0.

Несмотря ни на что, этот тип верификации является рекомендуемым, так как позволяет обнаружить большинство ошибок.

29.1. Каталог образцов SGML

Этот каталог включает в себя отвергнутые директивы с тем, чтобы гарантировать, что обрабатывающее программное обеспечение, такое как NSGMLS, использует предпочтительно общедоступные идентификаторы по отношению к системным идентификаторам. Это означает, что пользователи не должны быть подключены к сети при обработке системных идентификаторов, базирующихся на URI.

override yes
public "-//w3c//dtd html 4.0//en" strict.dtd
public "-//w3c//dtd html 4.0 transitional//en" loose.dtd
public "-//w3c//dtd html 4.0 frameset//en" frameset.dtd
public "-//w3c//entities latin1//en//html" htmllat1.ent
public "-//w3c//entities special//en//html" htmlspecial.ent
public "-//w3c//entities symbols//en//html" htmlsymbol.ent



Вероятности отказов произвольных ребер


Когда ребра отказывают с разными вероятностями, F -комплекс содержит всю информацию о надежности, предоставив рабочие вероятности для каждого ребра. Однако F-вектор и полином надежности здесь более не применимы. Это ведет к нескольким методикам использования структуры сети для получения ограничений.



Визуальное представление изображений, объектов и аплетов


Применение атрибутов элементов img и object для целей управления отображением не рекомендуется, предпочтение, как и раньше здесь отдается стилевым листам. Атрибуты height и width дают агенту пользователя информацию о размере изображения или объекта, что позволяет зарезервировать для него место, а тем временем продолжить отображение документа. Оба атрибута могут иметь значение типа length. Агент пользователя может изменить масштаб, если это необходимо. Атрибуты vspace и hspace специфицируют размер полей вокруг изображения или объекта. Значения по умолчанию этих атрибутов не определено, оно должно быть мало, но не равно нулю.



Внешние стилевые листы


Стилевые листы могут быть определены отдельно от документа. Это позволяет использовать такие стилевые листы во многих документах. Кроме того, стиль может быть изменен без модификации самого документа. Любой стиль обычно представляет собой иерархию стилевых листов. Некоторые из них используются вне зависимости от выбора пользователя. Для выбора внешних стилевых листов используется элемент Link. При этом необходимо установить следующие атрибуты:

hrefдля определения места размещения внешнего стилевого файла (href=url).
relопределяет, является ли данный стилевой лист постоянным (rel="stylesheet"), стилевым листом по умолчанию (rel="stylesheet") или листом по выбору (rel="alternate stylesheet").
titleустанавливает заголовок в случае, когда стилевой лист является листом по умолчанию (активируется и деактивируется пользователем).

Сначала специфицируются постоянные (persistent) внешние стилевые листы (например, из файла mystyle.css).

<link href="mystyle/css" rel="stylesheet">

Установка атрибута title превращает постоянный стилевой лист в лист по умолчанию. Агенты пользователя должны предоставлять возможность применения именованных стилей на базе атрибута title.

<link href="mystyle/css" title="compact" rel="stylesheet">

Добавление ключевого слова "alternate" к атрибуту rel делает стилевой лист альтернативным.

<link href="mystyle/css" title="medium" rel="alternate stylesheet">

Все альтернативные стили, имеющие один и тот же заголовок (title), будут использоваться, когда пользователь (через агента пользователя) активирует этот стиль. Стилевые листы с разными заголовками в этом случае не будут применены. Однако, стилевые листы, которые не имеют атрибута title, применяются всегда (за исключением случая, когда пользователь отключает все стилевые листы).

Агент пользователя должен обеспечить средства выбора стилей для пользователей.
Значение атрибута title предоставляет имя, которое может использоваться при выборе стиля. В предлагаемом примере определено два альтернативных стиля, названных "compact". Если пользователь выберет стиль "compact", будут применены оба внешних стилевых листа, а также стилевой лист "common.css" (применяется всегда, так как атрибут title не установлен). Если пользователь выберет стиль "big print", агент пользователя применит файлы "bigprint.css" и "common.css".

<link rel="alternate stylesheet" title="compact" href="small-base.css">
<link rel="alternate stylesheet" title="compact" href="small-extras.css">
<link rel="alternate stylesheet" title="big- print" href="bigprint.css">
<link rel=stylesheet href="common.css">

Ниже предлагается вариант с элементами link и style.

<link rel=stylesheet href="corporate.css">
<link rel=stylesheet href="techreport.css">
<style type="text/css">

p.special { color: rgb(230, 100, 180) }


</style>

23.4. Установка именованного стиля по умолчанию

Для установки в документе именованного стиля по умолчанию используется элемент meta. Например (установка стилевого листа "compact" в качестве стиля по умолчанию):

<meta http-equiv="default-style" content="compact"

Стилевой лист по умолчанию может быть установлен в HTML-заголовке.

default-style: "compact"

Если имеется две или более деклараций стилевого листа по умолчанию, то работает последняя декларация. Если явной декларации стиля по умолчанию нет, то берется первый элемент link, где есть title и где имеется атрибут rel="stylesheet".

При отображении документа с использованием стилевых листов выполняются определенные правила наследования свойств (тип шрифта, цвет и т.д.). Если то или иное свойство не может быть наследовано, используется значение по умолчанию.



Некоторые стилевые языки поддерживают синтаксис, который позволяет разработчику спрятать содержимое элементов style от агентов пользователя, которые их не поддерживают, с тем, чтобы они не пытались отобразить эти фрагменты, как текст. Например (случай с CSS):

<style type="text/css">
<!-- h1 { color: red }
p { color: blue} -->
</style

Иногда бывает удобно, конфигурируя WEB-сервер, установить стилевые листы, которые воздействуют на группу WWW-страниц. HTTP Link-заголовок имеет то же воздействие, что и элемент Link с теми же атрибутами и значениями. Заголовки с несколькими Link работают также как и несколько элементов Link, в соответствии с их порядком записи.

link: rel=stylesheet href="corporate.css"

cоответствует

<link rel="stylesheet" href="corporate.css">

Можно описать несколько альтернативных стилей, используя несколько Link-заголовков, а затем с помощью атрибута Rel определить стиль по умолчанию.

link: rel="stylesheet" title="compact" href="compact.css"
link: rel="alrernate stylesheet" title="big print" href="bigprint.css"

23.5. Форматирование

Для задания цвета фона может использоваться атрибут bgcolor = color (хотя это и не рекомендуется). Применение стилевых листов для решения этой задачи предпочтительнее.

Другой проблемой форматирования является выравнивание текста. Для этой цели служит атрибут Align = left|center|right|justify. Здесь справедливы те же замечания, что и в случае атрибута bgcolor. Ниже предлагается пример решения задачи выравнивания с использованием стилевого листа.

<head>
<style>
h1 { test-align: center }
</style>
</head>
<h1> how to carve wood </h1>

Следует иметь в виду, что приведенный текст отцентрирует все заголовки Н1. Можно ограничить зону действия данного стиля, установив атрибут ID.

<head>
<style type="text/css">
h1.wood {text-align: center}
</style>


</head>
<h1 id="wood"> how to carve wood </h1>

Аналогично для выравнивания по правому и левому полям с использование атрибута align:

<p align="justify"> ….далее следует текст….

То же с использованием стилевого листа:

<head>
<style type="text/css">
p.mypar {text-align: justify}
</style>
</head>
<p id="mypar"> ….далее следует текст….

Для двойного выравнивания последовательности параграфов можно группировать их с помощью элемента div.

<div align="justify">
<p> … текст первого параграфа….
<p> … текст второго параграфа….
<p> … текст третьего параграфа….
</div>

Решение той же задачи с использованием каскадирования стилевых листов:

<head>
<style type="text/css">
div.mypars {text-align: justify}
</style>
</head>
<div id="mypars">
<p> … текст первого параграфа….
<p> … текст второго параграфа….
<p> … текст третьего параграфа….
</div>

Для выравнивания всего документа с использованием каскадирования стилевых листов можно записать:

<head>
<style type="text/css">
body {text-align: justify}
</style>
</head>
<body>
… текст документа, подлежащий выравниванию …

</body>

Элемент center работает также как и элемент div с атрибутом align="center". Использование center не рекомендуется.


Всетерминальная мера


Для ориентированной всетерминальной меры проблемы с наборами путей и разрезов с минимальной мощностью, являются задачами поиска минимального покрывающего дерева и минимального s-ориентированного разреза, соответственно.

Обе эти задачи решаются за полиномиальное время. Задача подсчета минимального s-ориентированных разрезов имеет сложность NP. А это, в свою очередь означает, что связанная с этим задача надежности имеет сложность NP. Для случая неориентированной меры задачи по распознаванию и подсчету минимального набора путей и разрезов имеют полиномиальную сложность. Однако задача вычисления общего члена в полиноме надежности имеет сложность NP потому, что задачи анализа надежности для неориентированного случая имеют сложность NP.

В свете этих негативных результатов, большинство исследований имело целью анализ структурированных сети. Самый широкий класс сетей, для которых можно выполнить вычисления за полиномиальное время, базируется на последовательно-параллельных графах и определенных обобщениях. Последние исследования посвящены сложности анализа надежности структурированных сетей, в частности это касается ориентированных ациклических и планарных сетей. Прован (J.S.Provan, “The complexity of reliability computations in planar and acyclic graphs”, SIAM, J. Computings 8 (1986), 694-702 ) показал, что неориентированная 2-терминальная проблема надежности имеет сложность NP в планарных нециклических сетях, имеющих степени узлов не выше трех.

Результаты данного раздела указывают на то, что полиномиальные алгоритмы для сетевой надежности существуют только для маленького класса сетей. Благодаря этому факту большое число исследований было посвящено изучению ограничений сетевой надежности, и подходов основанных на методе Монте-Карло.



Современный Интернет насчитывает десятки миллионов


Современный Интернет насчитывает десятки миллионов серверов и сотни миллионов рабочих станций. Данная технология стала широко использоваться в информационных системах и бизнесе, именно по этой причине проблема надежности сетей становится все более актуальной. Ведь совсем не безразлично, получит ли человек своевременно отклик от банкомата, произведет ли клиент покупку, будут ли корректно введены данные в систему навигации ракеты и т.д.…
Но прежде чем поставить вопрос о надежности Интернет или даже локальной сети, нужно определить некоторые базовые понятия. Надежность всякой системы определяется надежностью составляющих ее элементов. А надежность элементов задается временем наработки на отказ или вероятностью отказа за оговоренный период времени. Надежности разных элементов могут отличаться существенно. В результате, как усредненные значения надежности, так и распределения вероятности отказов разных сетевых устройств могут варьироваться в очень широких пределах. Во многих случаях надежность и распределения надежности определяются эмпирически.
И если требование надежности определить как работоспособность всех элементов, надежность Интернета окажется равной нулю, ведь всегда найдется неисправный или отключенный узел или рабочая станция. Если же определить надежность системы, как возможность коммуникации между, скажем, 1000 каких-либо узлов или рабочих станций, то надежность Интернет окажется практически равной единице. Понятно, что если ваша рабочая станция не попадет в число этих 1000 узлов, вы вряд ли согласитесь с утверждением абсолютной надежности. Понятно поэтому, что оба определения совершенно неприемлемы. Не нужно думать, что случай оценки надежности локальной сети, содержащей, например, 100 рабочих станций много проще.
Здесь нужно будет определить, что такое отказ. Современная персональная ЭВМ достаточно сложный прибор, содержащий несколько внешних устройств, один или более процессоров, определенный набор внешних устройств, оперативную память, сетевой интерфейс, ОС и т.д.
Управление последовательных линий и модемных пулов при большом числе пользователей может потребовать весьма значительных административных усилий. Так как модемные пулы по определению являются каналами во внешний мир, они требуют особых мер безопасности. Это может быть реализовано путем поддержки единой базы данных пользователей, которая используется для аутентификации (проверке имени и пароля). Эта база данных хранит в себе и конфигурационные данные, характеризующие вид услуг, предоставляемых пользователю (например, SLIP, PPP, telnet, rlogin).
Модель клиент/сервер
Сервер сетевого доступа NAS (Network Access Server) работает как клиент системы RADIUS (RFC-2138, 2618-2621). Клиент передает информацию о пользователе специально выделенным серверам RADIUS, и далее действует в соответствии с полученным откликом на эти данные.
Серверы RADIUS принимают запросы от пользователей, осуществляют аутентификацию и выдают конфигурационную информацию, которая необходима клиенту, чтобы предоставить пользователю запрошенный вид услуг.
Сервер RADIUS может выполнять функцию прокси-клиента по отношению к другим серверам RADIUS или прочим аутентификационным серверам.
Сетевая безопасность
Взаимодействие клиента и сервера RADIUS аутентифицируются с использованием общего секретного ключа (пароля), который никогда не пересылается по сети. Кроме того, каждый пароль пользователя пересылается от клиента к серверу в зашифрованном виде, чтобы исключить его перехват.
Гибкие аутентификационные механизмы
Сервер RADIUS может поддерживать несколько методов аутентификации пользователя. При получении имени пользователя и его пароля сервер может воспользоваться PPP PAP или CHAP, UNIX login, и другими аутентификационными механизмами.
Масштабируемый протокол
Все операции подразумевают использование ансамблей атрибут-длина-значение. Новое значение атрибута может быть добавлено без редактирования существующей версии реализации протокола.

Введение аплетов Элемент applet


<!element applet - - (param | %inline) *>
<!attlist applet

codebase %url #implied-- опционный базовый url для аплета --
archive cdata #implied

-- архивный список с элементами, разделенными с помощью запятых --

code cdata #implied-- файл класса аплета --
object cdata #implied-- специализированный файл аплета --
alt cdata #implied-- описание для чисто текстовых броузеров --
name cdata #implied-- позволяет аплетам найти друг друга --
width %pixels #required-- предлагаемая ширина в пикселях --
height %pixels #required-- предлагаемая высота в пикселях --
align %ialign #implied-- вертикальное или горизонтальное выравнивание --
hspace %pixels #implied-- предлагаемые горизонтальные поля --
vspace %pixels #implied-- предлагаемые вертикальные поля -- >

Описания атрибутов

codebase = URL

Этот атрибут специфицирует базовый URL для аплета. Если этот атрибут отсутствует, в качестве базового URL рассматривается текущий документ.

code = cdata

Этот атрибут специфицирует имя ресурса, который содержит откомпилированный субкласс аплета. Значение атрибута должно представлять собой относительный URL по отношению к базовому URL.

name = cdata

Этот атрибут специфицирует имя аплета, которое позволяет аплетам найти друг друга в пределах страницы.

width = length

Этот атрибут специфицирует исходную ширину для области отображения аплета (без учета размера окна или области диалоговых обменов, которые вызывают аплет).

height = length

Этот атрибут специфицирует исходную высоту для области отображения аплета.

align = top|middle|bottom|left|right

Этот атрибут специфицирует положение объекта по отношению к окружающему тексту.

archive = cdata

Этот атрибут специфицирует имена одного или нескольких архивов, разделенные запятыми, содержащие классы и другие ресурсы, которые будут предварительно загружены. Классы загружаются с помощью вызова appletclassloader с данным codebase. Предзагрузка ресурсов может значительно улучшить работу аплета.

object = cdata

Этот атрибут присваивает имя ресурсу, который содержит последовательное представление аплета.
Аплет приводится к стандартному виду. Используется метод start().
Этот элемент, поддерживаемый всеми java-броузерами, позволяет разработчикам встраивать Java-аплеты в HTML-документы. Содержимое аплетов используется агентом пользователя как альтернатива, если он не поддерживает данный элемент. При прочих условиях его содержимое должно игнорироваться. Ниже приведен пример Java-аплета.
<applet code="bubbles.class" width="500" height="500">
java-аплет, который рисует движущиеся пузыри.
</applet>
Эту запись можно переписать в другой форме.
<object codetype="application/octet-stream"
classid="java:bubbles.class"

width="500" height="500">

java-аплет, который рисует движущиеся пузыри.
</object
Исходные данные можно передать аплету через элемент param
<applet code="audioitem" width="15" height="15">
<param name="snd" value="hello.au|welcome.au">
java-аплет, который исполняет приветственную мелодию.
</applet>
Вариант, базирующийся на object, представлен ниже.
<object codetype="application/octet-stream"
classid="audioitem"
width="15" height="15">
<param name="snd" value="hello.au|welcome.au">
java-аплет, который исполняет приветственную мелодию.
</object>

Введение HTML-документа в другой HTML-документ


Иногда возникает необходимость не связи с другим HTML-документом, а полного его включения в текст. Для решения такой задачи рекомендуется использовать элемент object с атрибутом data. Ниже следующая строка включит содержимое file_to_include.html в позицию документа, где размещен элемент object.

<object data="file_to_include.html">
warning: file_to_include.html could not be included.
</object>

Содержание object отображается только в случае, когда атрибут data не может быть загружен. При использовании операций включения следует проявлять осторожность, так как файл может содержать элементы, которые вызовут непредсказуемые действия. Для введения определенного текста в документ можно также использовать элемент Iframe.



Введение к сложности анализа надежности


Вычислительные задачи, которыми чаще всего занимаются специалисты по численным методам, можно разделить на две группы: задачи распознавания, такие как определение, содержит ли граф гамильтонов цикл, и задачи оптимизации, такие как нахождение минимальной стоимости маршрута коммивояжера. Задачи анализа надежности в корне отличаются от двух последних. При вычислении надежности приходится учитывать не только топологию сети, но и потоки данных в ней. Следовательно, анализ их сложности включает соображения, которые связаны, но отличаются от механизма, используемого при рассмотрении проблем распознавания и оптимизации: классы P, NP и NP-полный.

Чтобы наиболее простым образом свести задачи анализа надежности к более знакомым комбинаторным проблемам, рассмотрим частный случай задачи анализа надежности, которая возникает, когда все индивидуальные компоненты надежности равны, т.е. pi для всех i. В этом случае Rel(SBS,p) можно записать в виде полинома по степеням p:

Rel(SBS,p)=

Этот полином является полиномом надежности. Задача по его вычислению называется задачей анализа функциональной надежности, где в качестве входных данных используется представление SBS, а на выходе получается вектор {Fi}.

Общий член в полиноме надежности Fipm-i(1-p)i представляет собой вероятность того, что работает ровно m-i компонентов сети и функционирует система в целом. Таким образом, можно интерпретировать Fi так:

Fi=|{S:|S|=i и ?(T-S)=1}|.

Отсюда видно, что проблема определения коэффициентов Fi является задачей подсчета. Результатом задачи по распознавания гамильтоновых контуров может быть либо “Да”, если в графе содержатся контуры, либо “Нет”, а результатом задачи подсчета гамильтоновых контуров в графе является число таких контуров. NP и NP-полный являются классами задач распознавания. Классы, соответствующие задачам подсчета, обозначаются #P и #P-полный. Очевидно, что любая задача подсчета, по крайней мере, не проще чем соответствующая ей задача распознавания. Например, если известно число гамильтоновых контуров в графе, то не составит труда ответить на вопрос - «Число гамильтоновых контуров больше нуля?».
Получается, что любая разновидность задачи подсчета из NP-полного класса часто является #P-полной. С другой стороны, существуют примеры задач распознавания, у которых время решения является полиномиальным, а их счетные аналоги относятся к NP-полному классу. Например, задача поиска точного соответствия в двудольном графе имеет полиномиальное время решения, а задача поиска точного числа полных соответствий в двудольном графе является #P-полной. Чтобы не усложнять этот обзор, мы не будем подробней вдаваться в проблему сложности, а будем указывать, относится ли она к полиномиальному классу или классу NP сложности.
Многие практические приложения требуют использования моделей с разной надежностью компонентов. В таких моделях все вероятности являются рациональными числами. Мы формулируем проблему анализа рациональной надежности следующим образом. В качестве входной информации используется представление и для каждого компонента i пара целых чисел ai, bi. На выходе получается пара целых чисел a и b таких, что a/b = Rel(SBS,{ai/bi}).
Мы начинаем с установления того, что, если конкретный анализ функциональной надежности является NP-сложными, тогда соответствующий анализ рациональной надежности является NP-сложными.

Утверждение 2.2. Для любой задачи анализа рациональной надежности r-Rel и соответствующей ей задачи анализа функциональной надежности, f-Rel за полиномиальное время может быть сведена к r-Rel.
Доказательство: В f-Rel входит представление функции SBS. На выходе необходимо получить набор коэффициентов {Fi} полинома надежности. Чтобы преобразовать f-Rel в r-Rel выберем m+1 рациональное значение вероятности 0 < p0 < p1 < ... < pm < 1. Для j= 0,1,…,m обозначим решения соответствующей задачи анализа рациональной надежности как rj = Rel(SBS,pj), где все компоненты надежности установлены равными pj. Теперь мы можем записать систему уравнений:

для j = 0,1,…,m.
Решив m+1 задачу анализа рациональной надежности, найдем pj и rj. Получим систему из m+1 линейного уравнения с m+1 неизвестными Fi.


Коэффициенты матрицы имеют свойство матрицы Вандермонде и, следовательно, является невырожденной, таким образом, можно вычислить значения Fi.
Исследуем более детально вид полинома надежности для функций SCBS. Если задана SCBS, мы определяем значения:
m = число компонентов в системе
с = мощность набора минимального разреза
nc = число наборов разрезов с минимальной мощностью
l = мощность минимального набора путей.
nl = число наборов путей с минимальной мощностью
Заметим сразу, что коэффициенты полинома надежности обладают следующими свойствами:
, для i = 0,1,…,m
, для i< c,
, для i=c,
Fi=nl для i=m-l,
Fi=0 для i>m-l
Эти свойства означают, что, вычисляя полином надежности, мы легко определяем важные свойства SCBS функции. Например, исследовав полином надежности, мы сможем определить размер набора разрезов с минимальной мощностью. Таким образом, если задача распознавания набора разрезов с минимальной мощностью имеет сложность NP, то задача вычисления полинома надежности тоже имеет сложность NP. Из цепочки наших рассуждений следует:
Теорема 2.3. Для любой SCBS, если выполняется одно из следующих пяти условий, то задачи анализа функциональной и рациональной надежности являются NP сложными:
1. Задача распознавания минимального набора путей имеет сложность NP.
2. Задача подсчета минимального набора путей имеет сложность NP
3. Задача распознавания минимального набора разрезов имеет сложность NP
4. Задача подсчета минимального набора разрезов имеет сложность NP
5. Задача нахождения общих коэффициентов в полиноме надежности имеет сложность NP.
Доказательство: Результат анализа функциональной надежности следует из того, что выходные значения каждой из пяти задач могут быть получены из полинома надежности. Результат для проблемы рациональной надежности следует из утверждения 2.2. Применим построенную нами систему к задаче исследования сетевой надежности.

Введение карты изображения в html-документ


Использование карты изображения позволяет разработчику специфицировать активные зоны изображения и поставить им в соответствие определенные операции. Карта изображения создается путем установления связи между объектом и определенными областями изображения. Существует два типа карт изображения:

Сторона сервера. Когда пользователь активирует область карты изображения со стороны сервера с помощью мышки, координаты нажатия клавиши посылаются серверу, где помещен документ. Сервер интерпретирует эти координаты и выполняет определенные действия (определено атрибутом href элемента А).

Сторона клиента. Когда пользователь активирует область карты изображения со стороны клиента с помощью мышки, координаты нажатия клавиши интерпретируются агентом пользователя. Агент пользователя выбирает связь, которая была специфицирована для активированной области.

Предпочтительной считается карта изображения клиента. Предусматривается возможность использования карты изображения несколькими элементами.



Выбор метрики


Мы детально рассмотрели несколько разных метрик (мер) и фактически существует еще много метрик, которые не были упомянуты или которые были рассмотрены достаточно бегло. Может возникнуть дилемма, какую метрику использовать. Следующие соображения являются фундаментальными при принятии такого решения:

1. Важность и природа критерия работоспособности.

2. Сообщество обслуживаемых пользователей.

3. Философия обслуживания: хорошее качество в среднем или хорошее качество в экстремальных режимах.

Фундаментальным решением является, следует ли использовать меру связности или меру работоспособности. Меры связности включают все версии k-терминальных метрик, а также определенные относительные метрики, такие как сетевая адаптивность, ожидаемая доля пар узлов, участвующих в обмене одновременно. Меры работоспособности явно отражают модель вариации рабочих характеристик при сетевых отказах. Мера связности может быть полезной, когда функционирование сети считается удовлетворительным, если обеспечивается ее связность. Это так для многих оптоволоконных сетей. Мера связности полезна также при измерении вероятности того, что сеть способна обеспечить некоторый минимальный уровень обслуживания, т.е. вероятность того, что сеть может обработать важные вызовы или аварийные сигналы. Исследования мер работоспособности мотивировалось тем, что существуют сети, где при отказе какого-то компонента уровень функционирования сети падает ниже приемлемого уровня, хотя сеть и остается связной. В таких случаях использование меры работоспособности является обязательным.

Выбор одного из двух терминалов, k-терминалов или всех терминалов зависит от сообщества заинтересованных пользователей. Двухтерминальная метрика определяет способность сети обеспечить коммуникацию для двух специфицированных терминалов пользователей. Таким образом, метрика может рассматриваться как метрика, специфическая для пользователя. С другой стороны всетерминальная метрика характеризует возможности сервис провайдера. Она описывает работоспособность системы по отношению к возможности предоставить услуги всем возможным терминальным парам.
Следует заметить, что в определенном смысле всетерминальная мера надежности весьма “консервативна”. В частности, всетерминальная метрика меньше чем самая малая мера для двух терминалов и вообще должна быть много меньше.

Другой всесистемной мерой надежности является минимум метрик надежности для всех терминальных пар. Это может интерпретироваться как уровень надежности, гарантируемый всем пользователям. Другой относительной величиной является средняя метрика надежности для всей совокупности пар терминалов, которая характеризует степень устойчивости. Выбор между минимумом и средним относится к общей философии сервис провайдера, в частности, объективным показателем того, что услуга будет удовлетворительной “в среднем” или гарантировано.

Общая k-терминальная метрика имеет отношение к интересам сообщества пользователей, относящихся к некоторой подсети узлов. В зависимости от выбранного поднабора узлов может быть предоставлена информация обо всей сети или специфическая информация.

Наиболее приемлемые меры работоспособности обычно определяются характером используемых приложений. В случае метрик работоспособности существует выбор между измерением уровня усредненных рабочих параметров и параметров в экстремальных ситуациях, например 95-ый процентиль. Это снова относится к философии обслуживания, упомянутой выше.

7.3. Выбор правильного алгоритма

В дополнение к предоставлению читателю разнообразных мер надежности эта глава дает широкий выбор для вычисления каждой из упомянутых мер, включая точные алгоритмы, аналитические границы и моделирование по методу Монте-Карло. Таким образом, здесь может также возникнуть чувство неуверенности. Выбор из числа алгоритмов сильно зависит от размера вовлеченной сетевой структуры. В идеале предпочтителен алгоритм, который выдает точное значение надежности. Однако эффективные (полиномиально ограниченные) алгоритмы доступны только для определенных структурных классов графов, описанных в разделе 3. Для произвольных графов перечисленные алгоритмы могут решить задачи только ограниченного объема.


Для других ситуаций должны использоваться аппроксимационные алгоритмы. Выбор между аналитическими ограничениями и методом Монте-Карло является более тонким. Аналитические ограничения зависят от специфики проблемы. Следовательно, как это описано в разделе 4, такие ограничения существуют только для определенных классов задач. Далее, их качество и сопряженное с ним время работы алгоритма может отличаться в зависимости от класса решаемой задачи. Для определенных классов доступные ограничения весьма хороши и могут быть вычислены достаточно быстро. Однако для других классов это не так. Преимущества Монте-Карло заключаются в том, что некоторые подходы Монте-Карло могут быть реализованы потенциально для всех метрик, представляющих интерес, а сам алгоритм Монте-Карло может работать долгий или короткий период времени с соразмерным увеличением или уменьшением уровня точности. Нам следует заметить, что некоторые более продвинутые методы Монте-Карло используют проблемные структуры и, следовательно, не имеют первого преимущества.

Надо учитывать важный момент, связанный с аналитическими ограничениями, разрешены ли неравные вероятности отказов. Некоторые методы расчета ограничений лимитируют оценки надежности полиномиально и как следствие выдают результат только для случаев, когда вероятности всех отказов равны. С другой стороны нужно отметить, что полином надежности выдает информацию во всем диапазоне значений вероятностей отказов.

Следует рассмотреть еще один момент, относящийся к данной проблеме, какую модель использовать, с ориентированным или неориентированным графом. Как было отмечено в разделе 2, модель ориентированного графа является более общей и пригодна для широкого класса мер, она пригодна для моделирования как ориентированных, так и неориентированных проблем, с отказами узлов и без отказов.


Вычисление числа рядов и колонок в таблице


Число рядов в таблице равно числу tr-элементов в ее содержимом. Агенты пользователя должны игнорировать ряды с номерами за пределами этого числа. Существует несколько путей определения числа колонок.

Сканирование рядов таблицы и определение максимального числа колонок. Если число колонок в таблице превосходит число ячеек, ряд дополняется пустыми ячейками.

Подсчитывается число колонок, как это специфицировано элементами COL и colgroup.

Используется атрибут COLS элемента table

Агент пользователя может предположить, что число колонок в примере, приведенном ниже равно трем.

<table cols= "3">
… текст таблицы …
</table>

Если число колонок в таблице не задано атрибутом COLS, то визуальный агент пользователя будет ждать прихода всей информации о таблице, прежде чем приступит к ее отображению. Таким образом, атрибут cols позволяет отображать таблицу ряд за рядом по мере поступления данных.



Вычислительная сложность и соотношение проблем


Начинаем с обсуждения различий между ориентированной и неориентированной задачами и влиянием отказов узлов в параграфах 2.1 и 2.2 соответственно. После чего рассмотрим проблему вычислительной сложности.



Выделение элементов


Активный элемент HTML-документа должен быть выделен. Существует несколько способов выделения элемента:

Пометить элемент с помощью мышки.

Выделить нужный элемент, перемещаясь от элемента к элементу с помощью стрелок или других клавиш.

Выбрать нужный элемент, нажав определенную комбинацию клавиш.

Описание атрибута

tabindex = integer

Этот атрибут специфицирует положение текущего элемента по порядку, значение может быть положительным или отрицательным.

Элементы, которые могут быть выделены, должны обрабатываться агентом пользователя согласно следующим правилам:

Тем элементам, которые поддерживают атрибут tabindex, присваиваются положительные значения и они просматриваются первыми. Процесс просмотра начинается с меньших значений tabindex и продолжается в направлении больших. Элементы, которые имеют равные значения tabindex должны обрабатываться в порядке их появления в документе.

Элементы, для которых атрибут tabindex не определен или не поддерживается, просматриваются в порядке их появления в документе.

Те элементы, которым приписано отрицательное значение tabindex, не участвуют в процессе просмотра.

Атрибут tabindex поддерживается элементами a, area, object, input, select, textarea и button. Ниже предлагается пример.

<!doctype html public "-//w3c//dtd html 4.0//en"
"http://www.w3.org/tr/rec-html40/strict.dtd">
<html>
<head>
<title>a document with form</title>
</head>
<body>
...some text...
<p>go to the
<a tabindex="10" href="http://www.w3.org/">w3c web site.</a>
...some more...
<button type="button" name="get-database"
tabindex="1" onclick="get-database">
get the current database.
</button>
...some more...
<form action="..." method="post">
<p>
<input tabindex="1" type="text" name="field1">
<input tabindex="2" type="text" name="field2">


<input tabindex="3" type="submit" name="submit">
</p>
</form>
</body>
</html>

Ключи доступа

accesskey = cdata

Этот атрибут присваивает ключ доступа элементу. Ключ доступа представляет собой одиночный символ в текущей кодировке агента пользователя.

Нажатие клавиши, соответствующей ключу доступа, приводит к выбору элемента.Действия, которые будут выполнены при выборе, зависят от элемента. Атрибут accesskey поддерживается элементами: label и legend. В приведенном примере клавиша "u" ставится в соответствие элементу управления input.

<form action="..." method="post">
<p>
<label for="fuser" accesskey="u">
user name
</label>
<input type="text" name="user" id="fuser">
</p>
</form>

В ниже приведенном примере ключ доступа поставлен в соответствие связи, описанной элементом А. Нажатие клавиши доступа (c) приводит к вызову другого элемента.

<p><a accesskey="c"
rel="contents"
href="http://someplace.com/specification/contents.html">
table of contents</a>

В системе MS Windows для активации ключа доступа одновременно с ним следует нажать клавишу alt.

Атрибут disabled

Когда этот булев атрибут установлен для control формы, он блокирует данный вид контроля для ввода пользователя. Атрибут disabled поддерживается элементами input, textarea, select, option, object, label и button.

Блокированный элемент не может быть выделен, он игнорируется при обходе элементов и значения блокированного элемента не передается вместе с формой. В ниже предлагаемом примере блокированный элемент input не может воспринять ввод пользователя и передать его с формой.

<input disabled name="fred" value="stone">

Изменить значение атрибута динамически можно только с помощью скрипта.

Атрибут readonly

Этот булев атрибут при установке запрещает изменение control.


Элементы, предназначенные только для чтения, могут быть выбраны, но не могут быть изменены пользователем. Значения control в этом случае передается вместе с формой. Атрибут readonly поддерживается элементами input, text, password и textarea.

27. Скрипты

На стороне клиента скрипт представляет собой программу, которая может сопровождать документ HTML или быть непосредственно встроена в него. Программа исполняется на ЭВМ клиента при загрузке документа или при активации определенной связи. Скрипт предлагает разработчику заметно расширить возможности HTML-документа. В частности:

Скрипт может динамически изменять содержимое документа.

Скрипт может использоваться для обработки вводимой пользователем информации.

Скрипт может быть запущен каким-либо событием (выделение фрагмента, операции с мышкой, выгрузка документа и т.д.).

Скрипт может быть поставлен в соответствие одному из control формы и управляться им.

Существует два типа скриптов, которые могут быть подключены к документу:

Исполняемые только раз при загрузке документа агентом пользователя (это прежде всего скрипты элемента script).

Исполняемые каждый раз, когда происходит какое-то определенное событие. Такие скрипты могут быть подключены ко многим документам.


WAIS


Семёнов Ю.А. (ГНЦ ИТЭФ), book.itep.ru

WAIS (Wide Area Information Server) распределенная система поиска информации. Поиск производится по базам данных, содержащим текстовые документы (но допустимы также графические, звуковые или видео документы). Тематика баз данных и поиска произвольны. Базы данных могут иметь любую структуру, но пользователю не нужно знать языка управления этими базами. WAIS использует естественный управляющий язык. WAIS доступен в Интернет. Для пользователей, имеющих доступ только к электронной почте, предназначен интерфейс, размещенный по адресу waismail@quake.think.com. В сети Интернет существует много серверов WAIS. Список депозитариев серверов достаточно широк, начать можно с анонимного FTP по адресу Think.com секция /wais, файл wais-sources.tar.Z (файл архивирован и пересылка должна осуществляться в режиме BINARY). В настоящее время многие WAIS-сервера интегрированы в сети WEB.

Доступ к WAIS-клиентам возможен и напрямую с помощью команды TELNET по адресам:

 АвторизацияМесто расположения
quake.think.com (192.31.181.1)(login: wais)США
sunsite.unc.edu (152.2.22.81)(login: swais)США
info.funet.fi (128.214.6.102)(login: wais)Финляндия
swais.cwis.uci.edu (128.200.15.2)(login: swais)США
kunzu.cnidr.org (128.109.130.57)(login: wais)США
nnsc.nsf.net (128.89.1.178)(alogin: wais)США

Существуют клиент-серверы WAIS для систем MS-DOS, VMS, MVS, OS/2, UNIX и Macintosh, а также для GNU Emacs, NeXT, X-Windows, MS-Windows, Sunview и т.д. Эти продукты несколько отличаются друг от друга, но обычно процедура содержит следующие шаги:

Пользователь выбирает набор баз данных, где будет проводиться поиск, из числа имеющихся.

Формулируется задание на поиск, выбираются ключевые слова.

В процессе поиска WAIS запрашивает информацию из всех указанных баз данных.

Отображаются заголовки документов, отвечающих критериям отбора. Документы аранжируются согласно их степени соответствия условиям запроса.

Для получения копии пользователь просто отбирает документы из предлагаемого списка.


При необходимости пользователь может переформулировать критерии отбора и повторить поиск.

Вновь найденные документы, если они не совпадают с уже известными будут добавлены в список.

Ниже приводится таблица команд WAIS

Таблица 4.5.13.1. Команды WAIS
Основные команды
hВыдать перечень команд [help]
?тоже что и h
qУйти из WAIS (quit)
Смена текущей строки
DOWNСместиться на одну строку вниз
jТо же, что и DOWN
Ctrl-NТо же, что и DOWN
UPСместиться на одну строку вверх
kТо же, что и UP
Ctrl-PТо же, что и UP
числоПереход к строке с указанным номером
/эталонПерейти к строке, начинающейся с эталона
JСместиться на один экран вниз
Ctrl-DТо же, что и J
KСместиться вверх на один экран
Ctrl-UТо же, что и K
Выбор источника
ПробелВыбор или отмена выбора источника
=Отменить выбор каких-либо источников
RETURNПосле выбора источников запрашивает новое ключевое слово
rЗаново отображает результат предшествующего поиска
vОтображает техническую информацию об источнике
Выполнение поиска
RETURNНачало поиска после ввода ключевых слов
RETURNОтображает результат при просмотре результата поиска
wЗапрос новых ключевых слов
sПовторное отображение первоначального экрана
Чтение статьи
пробелОтобразить следующий экран
qПрервать чтение статьи (quit).


Имеется возможность доступа к ресурсам системы WAIS и через электронную почту. Запрос посылается по адресу waismail@quake.think.com, строка Subject игнорируется. Далее (в теле сообщения) могут следовать команды (вертикальная черта (|) указывает на выбор параметров):
helpотображение справочного файла
maxres numberустановка максимального числа искомых документов


search source-name | "source-name1 source-name2 ... " keywords

где: source-name имя источника, как оно было найдено в оглавлении сервера (с или без расширения .SRC). Если нужно провести поиск по нескольким источникам, их имена заключаются в двойные кавычки. keywords ключевые слова, по которым проводится поиск.

Можно сформулировать несколько запросов в одном e-mail.


Если имя источника не будет узнано, вы получите список имен возможных источников.

retrieve docid

Извлечение копии документа из базы данных. docid является DocID (идентификатор найденного документа). Если вы посылаете несколько запросов, они должны быть разделены пустыми строками. docid должен строго соответствовать имени документа, полученного вами в результате запроса-поиска (включая пробелы, если они имелись). Могут копироваться не только текстовые документы. Такие документы будут пересланы в формате UUENCODE.

DocID: docid

То же, что и retrieve. Эта форма идентична по форме ответу на поисковый запрос. Процедура делает возможным использовать replay в e-mail для копирования найденных документов.

Примеры использования WAIS

telnet quake.think.com
Trying 192.216.46.98 ... (IP-адрес сервера)
Connected to quake.think.com.
Escape character is '^]'.
SunOS UNIX (wais)
login: wais (ввод идентификатора)
Last login: Sun Aug 27 01:57:07 from france.cityu.edu
Welcome to swais, the text-terminal telnet client to WAIS.
Please type user identifier (optional, i.e. user@host): semenov@ns.itep.ru

(в качестве пароля предлагается напечатать ваш почтовый адрес).

TERM = (vt100) ibmpc (нужно ввести тип терминала, с которым вы работаете)

Starting up. This may take awhile...
SWAIS Source Selection Sources: 549
#ServerSourceCost
001:[ wais.access.gpo.gov]103_cong_billsFree
002:[ wais.access.gpo.gov]104_cong_billsFree
003:[ wais.access.gpo.gov]1992_criFree
004:[ wais.access.gpo.gov]1993_criFree
005:[ wais.access.gpo.gov]1994_criFree
006:[ wais.access.gpo.gov]1994_hobFree
007:[ wais.access.gpo.gov]1994_recordFree
008:[ wais.access.gpo.gov]1994_registerFree
009:[ wais.access.gpo.gov]1994_unified_agendaFree
010:[ wais.access.gpo.gov]1995_criFree
011:[ wais.access.gpo.gov]1995_hobFree
012:[ wais.access.gpo.gov]1995_recordFree
013:[ wais.access.gpo.gov]1995_registerFree
014:[ wais.access.gpo.gov]1995_unified_agendaFree
015:[ archie.au]aarnet-resource-guideFree
016:[ndadsb.gsfc.nasa.gov]AAS_jobsFree
017:[ndadsb.gsfc.nasa.gov]AAS_meetingFree
018:[ munin.ub2.lu.se]academic_email_confFree




Keywords:

<space> selects, w for keywords, arrows move, <return> searches, q quits, ? for Help

Слово Free на правом поле означает бесплатный доступ. Сразу после вывода на экран оказывается подсвеченной позиция <001> (номера позиций проставлены на левом поле). В квадратных скобках приведены адреса серверов, доступ к которым может быть предоставлен, сразу за ним следует наименование базы данных или документа. Используя стрелки <вверх> и <вниз>, можно подсветить нужную вам позицию. После нажатия клавиши <Enter> (или на некоторых клавиатурах RETURN) позиция будет выбрана и вам будет предложена возможность ввести ключевые слова для последующего поиска. Выберем для примера aarnet-resource-guide.src.

Enter keywords with spaces between them; <return> to search; ^C to cancel
Keywords: isdn (в качестве ключевого слова введено ISDN).
Searching aarnet-resource-guide.src...
Initializing connection...
Searching 1995_register
Found 1 items.
SWAIS Search ResultsItems: 1
#ScoreSourceTitleLines
001:[1000](aarnet-resource)Charles Sturt University66


<space> selects, arrows move, w for keywords, s for sources, ? for help
Retrieving: Charles Sturt University
Getting "Charles Sturt University" from aarnet-resource-guide.src...
WARNING: terminal cannot "scroll backwards" (press RETURN)

(ниже следует текст документа)

Charles Sturt University
Address:Division of Information Technology PO Box 588 WAGGA WAGGA 2650


E-mail: cc_director@csu.edu.au Phone: +61 69 222206 Fax: +61 69 222454

Description:

The Division of Information Technology offers computing services for teaching, research and university administration and is a centrally funded support service of the University.

The University has a Facom 340S, VAX 6320 and 6310 systems (VMS), a HP935 (HP-UX), and a SUN 4/75S, as well as a range of workstation-level Unix hosts.

Numerous PC and Mac Networks are spread through the faculties and divisions. ISDN links between the three campuses of CSU bring the ethernet/fibre "backbones" on each individual campus into a single university-wide TCPIP/LAT Network.



Network Access: Systems are generally available via AARNet and Austpac.
Who Can Use:
Computing services are provided to Charles Sturt University community.
Account for outside users are considered on a case by case basis.
Press any key to continue(для того чтобы продолжить просмотр текста следует нажать любую клавишу).


Возможна и несколько другая форма доступа к WAIS (например, из ЭВМ SUN):

ns> telnet info.funet.fi
Trying 128.214.6.21 ...
Connected to info.funet.fi.
Escape character is '^]'.
SunOS UNIX (info)
Finnish University and Research Network FUNET Information Service
The following information services are available:
gopherMenu-based global information tool
wwwWorld Wide Web, Global hypertext web
waisWide Area Information Server, global databases on different topics
x500X.500 clients are on nic.funet.fi, login: dua, no password
archieDatabase of Internet Archive contents
exitExit FUNET information services


Select service (gopher/www/wais/archie/exit) ? wais (выбран WAIS)
Select WAIS interface:
swais VT100-based WAIS client
Select interface (return for back to main menu) ? swais
Supported terminal types are: vt100, xterm
Starting WAIS ..
 Source SelectionServer SourceCost
001:[ archie.au]aarnet-resource-guideFree
002:[ munin.ub2.lu.se]academic_email_confFree
003:[wraith.cs.uow.edu.au]acronymsFree
004:[ archive.orst.edu]aeronauticsFree
005:[ ftp.cs.colorado.edu]aftp-cs-colorado-eduFree
006:[nostromo.oes.orst.ed]agricultural-market-newsFree
007:[ archive.orst.edu]alt.drugsFree
008:[ wais.oit.unc.edu]alt.gopherFree
009:[sun-wais.oit.unc.edu]alt.sys.sunFree
010:[ wais.oit.unc.edu]alt.waisFree
011:[alfred.ccs.carleton.]amiga-slipFree
012:[ munin.ub2.lu.se]amiga_fish_contentsFree
013:[ 150.203.76.2]ANU-Aboriginal-EconPolicies$0.00/minute
014:[ coombs.anu.edu.au]ANU-Aboriginal-Studies$0.00/minute
015:[ coombs.anu.edu.au]ANU-Asian-Computing$0.00/minute
016:[ coombs.anu.edu.au]ANU-Asian-Religions$0.00/minute
017:[ 150.203.76.2]ANU-Australian-Economics$0.00/minute
018:[ 150.203.76.2]ANU-CAUT-Academics$0.00/minute




Российского пользователя не остановит и плата за ресурс, если она составляет $0.00. Выберем позицию agricultural-market-new, а в качестве ключевого слова введем price (кого не интересуют цены на продукты питания?):

Keywords: price
Searching agricultural-market-news.src...
Initializing connection...
Found 40 items. (найдено 40 записей)
SWAIS Search Results Items: 40
# Score Source Title Lines
001:[1000](agricultural-ma)Re:MGLS756
002:[772](agricultural-ma)Re:MGLS754 211
003:[557](agricultural-ma)Re:AMLS753SUP%RIOR VIDEO277
004:[514](agricultural-ma)Re:MGLS750 155
005:[500](agricultural-ma)Re:MLLS143QUINCY AUCTION,QUINCY158
006:[486](agricultural-ma)Re:WAPY100CHICKEN PURCHASES480
007:[457](agricultural-ma)Re:RHLS751 127
008:[443](agricultural-ma)LS.MNLL Re:USDA 04/26/94 20:51172
009:[443](agricultural-ma)Re:MLLS144TOPPENISH (RESEND)161
010:[400](agricultural-ma)Re:KOLS757ADA WGTD AVG W/COWS115
011:[371](agricultural-ma)Re:RHLS764 138
012:[343](agricultural-ma)Re:KOLS752MCALESTER WGTD AVGW/COW100
013:[343](agricultural-ma)Re:MGLS752 91
014:[343](agricultural-ma)Re:MGLS797 122
015:[343](agricultural-ma)Re:RHLS750 107
016:[343](agricultural-ma)Re:RHLS757ROCKINGHAM FEEDER CATTLE140
017:[343](agricultural-ma)Re:RHLS758STAUNTON UNION FEEDERCA102
018:[343](agricultural-ma)Re:RHLS795 114


<space> selects, arrows move, w for keywords, s for sources, ? for help

Выбираем позицию <3>. Ниже следует текст, выданный в результате на экран.

Retrieving: Re: AM LS753 SUPRIOR VIDEO "Re: SUP%RIOR
VIDEO" from agricultural-market-news.src...
SWAIS Document Display Page: 1
Subject: AM LS753 SUP%RIOR VIDEO
Date: Mon, 21 Aug 95 01:58:17 PM
AM LS753
Amarillo, Texas Mon Aug 21, 1995 USDA-TX Dept of Ag Market News
Superior Video Auction - Final Report - Two day auction Aug 18 & 19.
Offerings < 91,000

Trade and demand moderate to good. Cattle offered from 16 States, Mexico and Canada.


Prices based on net weights after a 1-3 percent shrink or equivalent with a 4-10 cent slide on calves and 3-8 cent slide on yearlings. Offerings included 31 percent feeder steers and differs over 600 lbs and 69 percent feeders under 600 lbs.

************************************************************
Press any key to continue, 'q' to quit.
Southcentral States: Texas, Oklahoma, New Mexico,
Kansas and Missouri.
************************************************************

Feeder Steers Medium and Large 1
HeadWeightAvg WtPriceAvg PriceDelivery
220425-42542574.10-74.1074.10Current
84625-62562567.35-67.3567.35Current
60850-85085062.00-62.0062.00Current
190525-52552566.25-66.2566.25Septmbr
78585-58558569.35-69.3569.35Septmbr
130740-74074064.85-64.8564.85Septmbr
382800-83582164.00-66.0064.96Septmbr
540860-86086064.35-64.3564.35Septmbr
70360-36036077.50-77.5077.50Oct+Nov


Press any key to continue, 'q' to quit. (таблица напечатана с сокращениями)

Если вы выдали более одного ключевого слова, тогда все документы, содержащие любое из перечисленных слов будут включены в список найденных.

Если нужно узнать о WAIS больше (библиография, утилиты, исходные тексты), обращайтесь к Barbara Lincoln Brooks из WAIS inc. Библиография доступна по адресу ftp.wais.com в секции /pub/wais-inc-doc. Общую информацию по WAIS можно найти через FTP по адресу: quake.think.com /wais/doc или sunsite.unc.edu /pub/docs/about-the-net/libsoft/wais.txt. Для любителей доступа через WWW: или www.earn.net. Те же, кто для целей поиска предпочитает gopher, могут воспользоваться сервером: gopher-gw.micro.umn.edu. Можно узнать кое-что о WAIS и через telnet: quake.think.com Login: wais.

Программы доступны по адресам (FTP): ftp.cnidr.org ftp.wais.com quake.think.com sunsite.unc.edu

По вопросам получения бесплатного программного обеспечения обращайтесь по адресу: freewais@cnidr.org. Подписной почтовый лист имеет адрес: wais-discussion@wais.com. Для подписки посылайте запрос по адресу (формат запросов описан в разделе LISTSERV): wais-discussion-request@wais.com.Группа новостей в USENET (FAQ): comp.infosystems.wais; полезную информацию можно получить и через анонимное FTP по адресу rtfm.mit.edu в каталоге /pub/usenet/news.answers/wais-faq.


Whois


Семёнов Ю.А. (ГНЦ ИТЭФ), book.itep.ru

WHOIS обеспечивает каталожную службу для пользователей сети (RFC-0954). Эта служба заключается в поиске e-mail адресов, почтовых адресов и телефонных номеров. WHOIS может поставлять информацию о сетях, о структуре доменов и т.д. Главная база данных, относящихся к сетям, поддерживается Регистрационной службой Интернет (InterNic). В действительности имена при регистрации доменов и при выдаче IP-адресов автоматически вводятся в базу данных. Каждая запись в базе имеет уникальный идентификатор (handle), имя, тип записи и ряд других полей в зависимости от типа записи. База данных поддерживается в каждой сети независимо и взаимодействие между ними не всегда существует.

В системах UNIX имеется аналог этой службы - rwho, которая предоставляет даже несколько большую информацию, сообщая дополнительно о том, кто работает в данный момент в каждой из подключенных к сети машин.

Сейчас создан новый протокол WHOIS++, в котором учтены прежние недостатки. WHOIS доступно для пользователей Интернет с помощью команды telnet. Возможна посылка запросов и по электронной почте.

Обращение к базе данных производится по команде WHOIS (значение параметра заключается в угловые скобки). Обращение к местному клиент-серверу производится по форме:

WHOIS <-h имя_сети> идентификатор

Где имя_сети - адрес домена, куда вы собираетесь послать запрос (например, whois.internic.net); идентификатор - фамилия человека, название сети или домена, IP-адрес. С идентификатором могут использоваться специальные символы, определяющие тип поиска.

. (точка)перед идентификатором задает поиск по фамилии;
!перед идентификатором задает поиск по handle;
... orпосле идентификатора определяет режим частичного поиска: все, что начинается с идентификатора подходит.
@(в идентификаторе) осуществляет поиск по e-mail адресу.
*перед идентификатором извлекает полный список рекордов, соответствующих идентификатору (например, сеть и все зарегистрированные пользователи).
%перед идентификатором извлекает список всех зарегистрированных пользователей узла (или региона).
~перед идентификатором выдает распечатку объекта, который точно соответствует идентификатору.


Эти символы могут использоваться и в комбинации. Результат поиска отображается либо в виде полного текста найденной записи, либо в виде списка строк, характеризующих найденные рекорды. В обоих случаях handle следует в скобках за именем.

Для получения информации в интерактивном режиме используется telnet по адресу whois.internic.net (или whois.ripe.net). Далее прописные буквы обозначают приемлемые сокращения; опционные параметры помещаются в угловые скобки.
WHOISВызов программы;
?Вызов справочного материала;
HElpВызов полномасштабной справочной поддержки;
Q, QUIT, Клавиша <Enter> Выход из WHOIS
<ключевое слово>идентификаторПоиск в базе записей, содержащих идентификатор, ключевое слово может использоваться, чтобы ограничить область поиска каким-то одним полем.


Можно использовать следующие ключевые слова:
PErsonОграничивает поиск людьми;
DOmainОграничивает поиск доменами (например, DO EARN.NET);
HOstOграничивает поиск ЭВМ (например, HO PRINCETON);
NEtworkОграничивает поиск сетями (например, NE EBONE);
OrganizationОграничивает поиск организациями (например, O CERN)
NАmeТо же что и лидирующая '.' в идентификаторе;
HАndleТо же что и ! в идентификаторе;
PАrtialТо же что и завершающая '.' в идентификаторе;
MailboxТо же что и @ в идентификаторе;
EXPandТо же что и '*' в идентификаторе;
SUBdisplayТо же что и '%' в идентификаторе;
Full or '='Детально отображает каждый найденный объект;
SUMmary or '$'Выдает лишь список найденного;


Использование базы данных для получения списка лиц для коммерческих целей категорически запрещено (при выявлении расстрел на месте преступления :-)).

Пример использования WHOIS.

telnet wais.ripe.net
Trying 39.13.5.97 ... (IP-адрес сервера)
Connected to info.ripe.net.
Escape character is '^]'.

RIPE Network Coordination Centre (NCC)
INTERACTIVE INFORMATION SERVICE
Report bugs to <ncc@ripe.net>.
Enter terminal type (? for help) [vt100]: ibmpc
Number of lines your terminal can display ? [24]

Information Services Menu
 1 - About RIPE and the RIPE NCC
 2 - Browse through the NCC Document Store (Gopher)
 3 - Keyword Search of the NCC Document Store (WAIS)
 4 - Search the RIPE Database (whois)
(DISABLED)5 - Browse through the NCC Document Store (WWW)
 6 - HELP for mailing documents to the UK
 q - Quit




Enter Selection: 4 (выбираем позицию 4 - WHOIS)

Enter search key [q to quit]: msu.su. (Проводим поиск записей, относящихся к домену msu.su). Система выдает:

domain: MSU.SU
descr: Lomonosov Moscow State University
admin-c: SB16
admin-c: DA196
tech-c: DA196
tech-c: SN4-RIPE
zone-c: DA196
nserver: unisun.radio-msu.net sun01a.desy.de
nserver: ns1.barrnet.net ns2.barrnet.net
sub-dom: npi cs srcc phys chem cogsci bio bog mics math geogr med
sub-dom: econ rector logos geol lib sai journ cshe hist genebee
sub-dom: law soc pvt
changed: ada@radio-msu.net 950316
source: RIPE
person: Sergey F. Berezhnev
address: Nuclear Physics Institute
address: Moscow State University
address: 119899 Moscow
address: Russia
phone: +7 095 932 8974
phone: +7 095 939 5877
fax-no: +7 095 932 8974
e-mail: sfb@radio-msu.net
nic-hdl: SB16
notify: noc@radio-msu.net
changed: ada@radio-msu.net 950303
source: RIPE
person: Dmitry A. Avdeyev
address: Nuclear Physics Institute
address: Moscow State University
address: 119899 Moscow
address: Russia
phone: +7 095 932 8880
phone: +7 095 939 5877
fax-no: +7 095 932 8974
e-mail: ada@radio-msu.net
nic-hdl: DA196
notify: ada@radio-msu.net
mnt-by: RADIO-MSU-MNT
changed: ada@radio-msu.net 950302
source: RIPE
person: Serge Yu. Nikiphorov
address: Nuclear Physics Institute
address: Moscow State University
address: 119899 Moscow
address: Russia
phone: +7 095 932 8880
phone: +7 095 939 5877
e-mail: serg@radio-msu.net
nic-hdl: SN4-RIPE
changed: ada@radio-msu.net 950130
source: RIPE
Enter search key [q to quit]: q

Еще один пример поиска в базе данных WHOIS, здесь задача решается с помощью команды, обращенной к серверу RIPE. Ищется информация об узле itep.ru: whois -h whois.ripe.net itep.ru (ЭВМ SUN):

domain: ITEP.RU
descr: Institute for Theoretical and Experimental Physics
descr: ITEP, B.Cheremushkinskaja 25,
descr: Moscow 117259, Russia.
admin-c: Yuri Al. Semenov
tech-c: Andrey N. Bobyshev
zone-c: Andrey N. Bobyshev
nserver: ns.itep.ru suncom.itep.ru sun01a.desy.de
dom-net: 192.148.166.0 193.124.224.0 193.124.225.0 193.124.226.0


remarks: fully-managed
changed: bobyshev@cl.itep.ru 950218
source: RIPE
person: Yuri Al. Semenov
address: Institute for Theoretical
address: and Experimental Physics
address: B.Cheremushkinskaja 25,
address: Moscow 117259, Russia.
phone: +7 095 1230292
fax-no: +7 095 1236584
e-mail: semenov@cl.itep.ru
changed: bobyshev@cl.itep.ru 941005
source: RIPE
person: Andrey N. Bobyshev
address: ITEP
address: B.Cheremushkinskaja 25,
address: Moscow 117259, Russia.
phone: +7 095 1230292
fax-no: +7 095 1236584
e-mail: bobyshev@cl.itep.ru
nic-hdl: AB293
changed: bobyshev@cl.itep.ru 941005
source: RIPE

Существуют и другие программы для поиска информации о клиентах сети Internet (например, knowbot). Обращение к такой программе может быть выполнено, в частности, командой telnet nri.reston.va.us 185 (185 - номер порта). После входа в систему вы можете выдать запрос информации о возможностях системы поиска, напечатав ?, или просто выдав команду query vanja ivanov. Пользователи могут послать запрос через e-mail по адресу mailserv@internic.net. Команды записываются в поле subject. Текст сообщения обычно пуст, если subject не содержит команд, то интерпретируется первая строка текста сообщения. Запросы должны начинаться со слова WHOIS. Например: WHOIS \!EARN (\ представляет собой символ esc). Служба WHOIS документирована в RFC-1400. С любыми вопросами следует обращаться по адресу action@internic.net. Исчерпывающую информацию о WHOIS можно получить через анонимное FTP по адресам: nic.merit.edu /documents или sipb.mit.edu /pub/whois/whois-servers.list. Для этих же целей можно воспользоваться WWW: www.earn.net gnrt/whois.html или gopher: phantom.bsu.edu :4320/7whois%20rs.internic.net (число после двоеточия - номер порта). К материалам о WHOIS имеется доступ и с помощью telnet: rs.internic.net.


WWW


Семёнов Ю.А. (ГНЦ ИТЭФ), book.itep.ru

Прежде чем передать что-то, надо это иметь. Люди общаются, используя естественные языки, ЭВМ обмениваются нуликами и единицами. Но даже в привычном для всех нас общении на родном языке иногда возникают проблемы, и тогда мы переспрашиваем партнера (это прием используют и коммуникационные системы). Когда же мы читаем, перед нами возникает последовательность символов из хорошо известного с детства алфавита. Символы эти могут существенно варьироваться по форме своего изображения, но мы их все равно без труда распознаем.

Получаемая нами информация поступает не только от общения с людьми, книгами или телевизором. Не мало крайне важных для жизни данных мы получаем о себе и окружающем мире по имеющимся у нас каналам органов чувств. Мы научились сопоставлять и перепроверять эти данные, когда это требуется. Успешное функционирование этих каналов передачи данных и средств их обработки позволяет нам прожить относительно долгую жизнь. Любые же сбои могут повлиять на нашу судьбу самым драматическим образом.

Человечество научилось усовершенствовать данные нам природой каналы информационного обмена. Сначала это были примитивные сигнальные системы типа костров на вершинах холмов (пропускная способность 0,5 бит/час). Появление письменности открыло возможность общения уже умерших людей с живыми, обеспечив процесс накопления знаний. Довольно большие объемы информации могли уже передаваться с использованием лошадей и кораблей на практически неограниченные расстояния. Но скорость такого обмена была ничтожна, доставка сообщения занимала часы, дни, а иногда и годы (никакого намека на работу современной почты я здесь не делаю).

Гигантским шагом вперед стало изобретение электрического телеграфа, а позднее радио. Сегодня же мы узнаем о землетрясении в 20000 км от нас максимум через час из очередного телевизионного сборника новостей. Люди объясняются в любви с использованием электронной почты и делают покупки, не выходя из дома.

На нас обрушилась лавина информации.
Диабетик узнает о прелестях сникерса, мужчины маются, слушая информацию о потрясающих особенностях прокладок с крылышками, о несмываемой губной помаде и т.д. и т.д.

Мы стали получать слишком много совершенно ненужной информации. Миллионером станет человек, который предложит покупателям телевизор, отфильтровывающий информацию согласно требованиям зрителя. Таким образом, мы уже сталкиваемся с новыми информационными проблемами, хотя нельзя сказать, что мы решили все старые. Сплошь и рядом мы узнаем слишком поздно о своих болезнях, об угрозах стихийных бедствий или об истинных свойствах того или иного политика.

Эти же проблемы относятся и к Интернет. По электронной почте вы получаете сообщения от совершенно незнакомых людей, которые утверждают, что очень хотят вашего быстрого обогащения (хотя их цели диаметрально противоположны), или предлагающих вам какие-то товары или услуги, хотя вы их об этом не просили.

К Интернет получили доступ десятки миллионов людей. Если в издательствах редакторы, заботясь о доходах и избегая убытков, блокируют доступ графоманов к широким массам читателей, такого механизма в Интернет не существует. Таким образом, программные средства, фильтрующие поток данных на входе вашего почтового или web-сервера, здесь также весьма актуальны. Ниже даются некоторые определения понятий, используемых в разделах о протоколе http, www и информационном поиске.

Рассмотрим некоторые свойства информации, например структурированность и ценность. Структурированность - это свойство, которое позволяет принимающей стороне выделить информацию в виде некоторого сигнала, обладающего некоторыми свойствами. Ценность данных выражается через содержательность, полноту, оперативность и достоверность.

При обработке и передаче данных важную роль играют знаки и знаковые системы. Знак - это материальный объект, который служит для обозначения другого объекта и используется для передачи информации о последнем. Примерами знаков могут служить ноты, цифры, жесты азбуки глухонемых, знаки регулирования уличного движения и т.д.


Одной из разновидностей знака является символ. Разновидностью знаковых систем являются языки, самым сложным из которых является естественный человеческий язык. Все проявления и применения знаков и знаковых систем изучает семиотика. Предметом семиотики является связь знаков друг с другом, с обозначаемыми ими объектами и явлениями, а также с субъектами их использующими для целей коммуникаций. Семиотика содержит в себе три раздела: семантика, синтактика и прагматика.

Семантика изучает отношения между знаком и тем, что он обозначает или замещает. Синтактика знаковых систем изучает их структуру и правила соединения знаков.Прагматика изучает законы функционирования знаковой системы, как средства коммуникации субъектов. С прагматикой связаны такие понятия как ценность и цель.

World Wide Web (всемирная сеть, WWW или 3W) представляет собой информационную систему, базирующуюся на использовании гипертекста. Разработка этой системы была начата Тимом Бернерс-Ли, которому в 1989 году пришла в голову мысль объединить гипертекст с Интернет. Идея впервые реализована в ЦЕРН (Женева). Доступ к WWW возможен только в рамках протоколов TCP/IP, но для использования 3w необязательно иметь сервер-клиент (browser) на вашей машине. С некоторыми ограничениями возможен доступ и через электронную почту (listserv@info.cern.ch). Если WWW-клиент-сервер не установлен, можно работать в режиме удаленного терминала. Весьма удобным программным интерфейсом для WWW является ms explorer, netscape и некоторые другие. Для подготовки документов в рамках HTML (Hypertext Markup Language) пригоден любой текстовый редактор (например, emacs в UNIX-машинах, ME в MS-DOS или Winword, в последних версиях которого уже допускаются гиперссылки). При подготовке гипертекстов вы можете использовать язык HTML или взять одно из множества доступных программных средств, которые позволяют преобразовать ваш документ в необходимый формат. Документы в гипертексте связываются друг с другом определенным набором слов. Пользователю не нужно знать, где находится тот или иной документ.


Часто ссылки на серверы WWW начинаются с сокращения http:// (Hypertext Transfer Protocol). Гипертекст позволяет осуществлять ссылки-разъяснения на статьи, хранящиеся на удаленном сервере. Гипертекст подразумевает не только текстовые объекты (но и графические или звуковые), поэтому термин гиперсреда (hypermedia) более правилен. WWW может проводить поиск ключевых слов и в специфических документах-индексах, в этом случае выдаются указатели на искомые документы. WWW может использовать различные форматы документов и работать с разнообразными структурами информации, обеспечивая доступ к информационной вселенной. На рис. 4.5.6.1 показан рост числа WEB-серверов, базирующихся на разных программных продуктах (www.netcraft.com). В 2000 году скорость регистрации web-серверов достигла 1 в секунду.



Рис. 4.5.6.1. Рост числа web-серверов в период 1995-99 годов

На февраль 1999 года число www-серверов равнялось 4.301.512.

Что же такое гипертекст?

Прежде всего, следует отметить, что гипертекст - это текст, состоящий из ascii-символов. Для обеспечения верстки и организации перекрестных ссылок в гипертексте используются слова-метки. Основу гипертекста составляют HTML-элементы. Такой элемент включает в себя имя, атрибуты, текст или гипертекст. HTML-элемент записывается в документ в виде (более подробное описание смотри в статье о ):

<имя_метки> текст </имя_метки>
<имя_метки> имя_атрибута=аргумент текст </имя_метки>

html-документ состоит из одного элемента: <html>

.... </html>, который состоит из html-элементов: <head>

... </head> и <body> ... </body>, последние в свою очередь могут содержать различные списки, внутренние и внешние метки и т.д.. Элементы <html>, <head> и <body> для совместимости с более старыми текстами сделаны пока необязательными. В html имеется 6 уровней заголовков (<h1>, .... <h6>), из них первый - главный. В версии HTML+ (и более поздних версиях) предусмотрены операторы позиционирования текста, например, <p align="center">.


head-элементы могут содержать в себе:

<isindex>

говорит о том, что данный документ допускает индексный поиск (база данных).

<title> . . . </title>

описывает заголовок документа, этот заголовок характеризует содержимое окна.

<base href="url">

сообщает имя файла, в котором хранится данный документ.

<link rev="relationship" rel="relationship" href="url">

этот элемент позволяет установить связь между документом, содержащим метку (якорь), и документом, указанным в URL (Uniform Resource Locator). Атрибут rel устанавливает связь между HTML-файлом и URL. Атрибут rev (reverse) описывает взаимоотношения между URL и HTML-файлом.

Элементы body могут содержать элементы:

Текстовые элементы:

<p> индицирует конец параграфа и начало нового.

<pre> . . . </pre>

выделяет текст, который уже был сформатирован ранее (таблицы, программы, стихи, ...).

<blockquote> . . . </blockquote>

ограничивает часть текста, который должен быть выделен кавычками.

Гиперсвязи или якоря

<a name="anchor_name"> . . . </a>

определяет заданную позицию в документе.

<a href="#anchor_name"> . . . </a>

описывает ссылку на определенное место текущего документа.

<a href="url"> . . . </a>

устанавливает связь с другим файлом или ресурсом.

<a href="url#anchor_name"> . . . </a>

устанавливает связь с заданным местом в другом документе.

<a href="url?search_word+search_word"> . . . </a>

посылает серверу эталонную строку для поиска.

Различные системы поиска могут интерпретировать эту строку по-разному. Для того чтобы читатель незнакомый с гипертекстом, получил некоторое представление о том, как он выглядит, приведу пример:

<title> Протоколы и ресурсы Интернет </title>
<h1> Это уровень первого заголовка </h1>
<h2> Уровень второго заголовка </h2>
<p> Начало параграфа ....



Вам уже ясно, что подготовка гипертекстов "вручную" изнурительная задача и вспомогательные программные средства не повредят, особенно если вы хотите, чтобы ваш текст выглядел привлекательно. Заметим, что управляющие слова-метки могут записываться как строчными, так и прописными буквами (<H1> = <H1>), но они могут восприниматься различными программами просмотра по-разному (могут и игнорироваться вовсе). HTML поддерживает нумерованные (OL), ненумерованные (UL), и описательные списки (DL). Пример нумерованного списка:
Записано в гипертекстеОтображено на экране


<ol>
<li> Белоруссия</li> 1. Белоруссия
<li> Россия</li> 2. Россия
<li> Украина</li> 3. Украина


</ol>

Примером описательного списка может служить:

<dl>
<dt> ИТЭФ
<dd> Институт Теоретической и Экспериментальной Физики, Москва, Россия.
<dt> ИФВЭ
<dd> Институт Физики Высоких Энергий, Протвино.
</dl>

На экране это будет выглядеть примерно так:

ИТЭФ

Институт Теоретической и Экспериментальной Физики, Москва.

ИФВЭ

Институт Физики Высоких Энергий, Протвино.

<dt> - метка определения, а <dd> - метка данных описания. Как <dt> так и <dd> могут содержать много параграфов, разделенных меткой <p>. Допускается вложение списков друг в друга, например <fsu.html>:

<ul>
<li> Белоруссия</li>
<li> Россия</li>
<dl>
<dt> ИТЭФ
<dd> Институт Теоретической и Экспериментальной Физики, Москва.
<dt> ИФВЭ
<dd> Институт Физики Высоких Энергий, Протвино.
</dl>
<li> Украина</li>
</ul>

Некоторые символы являются служебными для html и для их отображения на экране требуются определенные ухищрения. Например:


Символ
записывается как
<&lt;
>&gt;
&&amp;
&nbsp; (неразрывный пробел)


Символ ; (точка с запятой) является составной частью описания. Все предшествующее относилось к описанию представления текстов на экране.


Теперь рассмотрим, как можно обозначить смысловые связи и ссылки друг на друга различных частей текста. Собственно именно ради этого и создавалась идеология гипертекстов. Метка, означающая наличие связи, имеет вид <a> и происходит от слова anchor (якорь). В общем виде ссылка имеет следующий формат:

<a href="url"> текст </a>

URL (universal resource locator) в простейшем случае может быть именем файла. Текст обозначает действительный текст в документе, который может быть подсвечен, выделен другим цветом или помечен цифрой. Этот текст говорит программе просмотра, что в URL можно найти связанную с данным документом информацию или изображение. При использовании программы типа MS IE (или Netscape) для вызова этой информации или изображения на экран достаточно указать мышкой на текст и нажать кнопку. Если URL указывает на объект, находящийся не в вашей сети эта процедура может занять некоторое время. Чтобы вас как-то развлечь, программа показывает вам вращающийся земной шар в верхнем правом углу экрана. Метка <A> может использоваться и для ссылки на определенный раздел документа:

<a name="refname"> текст </a>,

где refname является меткой в вашем документе. Пусть в файле fsu.html определена следующая ссылка-якорь:

<a name="итэф"> ИТЭФ </a>

тогда, находясь в пределах этого документа, можно попасть в нужную точку с помощью:

<a href=#итэф> У-10 </a> протонный синхротрон.

В другом документе может присутствовать встречная ссылка, например:

У-10 в <a href="fsu.html#итэф"> ИТЭФ>/a>

Теперь, при нажатии кнопки мышки на слове ИТЭФ, программа отобразит fsu.html и отметит позицию со словом ИТЭФ (ссылка name=итэф). Вообще говоря, вы можете ссылаться на метки-якоря в файлах, находящихся на другой машине (на другом конце земли :-) ), приводя полное наименование URL. В общем случае url указывает тип и место расположения ресурса:

сервер://host.domain[:port]/path/объект,



где в качестве сервера может стоять: FTP, Telnet, HTTP, Gopher, Wais, News. Path описывает проход к каталогу, где лежит объект. Если программа просмотра (Netscape) способна воспроизводить изображения, можно ввести ссылки на файлы, содержащие нужные для пояснения текста картинки, например:

<img src="имя_файла.gif">

Обратите внимание, что здесь используется графический стандарт gif (Graphics Interchange Format). Приемлемы также графические форматы tiff, jpeg, rgb и hdf. Читатели, желающие сформировать титульную страницу (home page) своего института, фирмы или проекта, должны изучить предмет более углубленно, обратившись, например по адресу:

.

После этого недолгого экскурса в гипертекст, который является основой многих поисковых систем, вернемся к проблематике www. Следует заметить, что публично доступные клиент-серверы существуют для сред MS-DOS, VMS, MVS, UNIX, X-windows, Macintosh, NEXT. Это математическое обеспечение доступно через анонимный FTP из депозитария info.cern.ch секции /pub/www (или www.earn.net gnrt/www.html). Графические клиент-серверы доступны для UNIX, Windows, Macintosh, X-windows, Next.

Режим удаленного терминала можно реализовать через telnet по адресу info.cern.ch (при этом не требуется иметь авторизацию на какой-либо ЭВМ ЦЕРН). Многие серверы при старте выходят на приглашение login. Обычно для входа в WWW при этом достаточно напечатать WWW. Никакого слова-пропуска не требуется. Программный пакет PCTCP (и некоторые другие) допускает настройку на эмуляцию того или иного терминала, например:

tn -x vt100 info.cern.ch, где info.cern.ch - адрес WWW-сервера, который предполагает работу с терминалом VT-100 (или его эмулятором). При работе в строчном режиме (режим меню) вам предлагается возможность выбора одного из пунктов меню. Для этого вы печатаете номер этого пункта и нажимаете клавишу <enter>. Если все меню на экране не помещается, вы можете перемещаться по нему в любом направлении. Пояснения, содержащиеся на экране, позволяют работать c системой даже новичку.



WWW-сервер в простом варианте выполняет лишь команды get имя_файла, приходящие от клиент-сервера пользователя. Остальная работа выполняется www-клиентом.

Существует достаточно много "удаленных" тематических серверов, например:
АдресТематикаСтрана
vms.huji.ac.il (128.139.4.3)Окружающая средаИзраиль
info.cern.ch (128.141.201.74)Физика высоких энергийШвейцария
fatty.law.cornell.edu (132.236.108.5)ЗаконодательствоСША
ukanaix.cc.ukans.edu (129.237.1.30)ИсторияСША
www.njit.edu (128.235.163.2) США
Нейронные сетиАнглия
 Англия
 Австрия
kal-el.ugr.es Испания
opal.vcu.eduНанотехнологияСША
galaxy.ph.tn.tudelft.nlРаспознавание образовНидерланды
info.funet.fi (128.214.6.102) Финляндия
fserv.kfki.hu (148.6.0.3)  Венгрия
Список этот не является исчерпывающим, существуют клиент-серверы и в России. Появились и первые зеркальные www-депозитарии в России (например, xxx.itep.ru (“зеркало” сервера LANL - Лос-Аламос, США), store.in.ru (зеркальный сервер по Linux - Red Hat и RFC) и т.д.. Хотя в вышеприведенной таблице указана тематика серверов, не следует думать, что этим ограничивается содержимое депозитариев. ЦЕРН является базовой организацией для справочных запросов (здесь работают многие авторы этой системы, www-bug@info.cern.ch). Для получения нужного файла по электронной почте следует послать mail по адресу listserv@info.cern.ch с командой send. Команда send присылает документ с данным www-адресом. Но следует иметь в виду ряд ограничений. Гипертекстные документы имеют стандартную ширину в 72 символа. В конце документа обычно имеется список других адресов документов по данной или близкой тематике. Гипертекстный документ имеет связи, которые помещаются в квадратные скобки. Обратите внимание на то, что, несмотря на наличие имени listserv в начале, - это не listserv-сервер. Максимальное число строк, получаемое пользователем, при этом не превышает 1000 (хотя сегодня найдется немного желающих пользоваться такой услугой, если имеется прямой доступ в Интернет).


Все запросы мониторируются. При работе с графикой выбор того или иного объекта производится мышкой. Работая со строчным сервером, следует набрать номер строки меню и нажать клавишу <enter>. В WWW доступны некоторые команды (параметры команд помещаются в угловые скобки <>, в квадратных скобках приведены сокращенные названия команд для построчного просмотра; используется полное или сокращенное имя команды.):
КомандаСокращениеНазначение
help[h]Выдает гипертекстный адрес текущего документа и список доступных команд, который является контекстно зависимым.
manual[m] Отображает пояснительные тексты, если таковые имеются.
quit Уход из www.
up[u]Перемещает текущую страницу документа вверх [предшествующий экран].
down Перемещает текущую страницу документа вниз [следующий экран].
top[t]Устанавливает указатель в начало документа.
bottom[bo]Устанавливает указатель в конец документа.
back[b]Возвращает просмотр к предшествующему документу.
home[ho]Возврат к первому документу.
next[n]Осуществляет переход к просмотру следующего документа.
previous[p]Осуществляет переход к просмотру предшествующего документа.
list[l]Выдает пронумерованный список связей текущего документа, для отслеживания связей следует отпечатать соответствующий номер.
recall[r] <number>Если число опущено, выдает пронумерованный список документов, которые вы просмотрели. Для просмотра определенного документа выполните команду с соответствующим номером.
find [f] <ключевое слово>Поиск ключевых слов в индексе. Список находок отображается вместе со ссылками возможных дополнений. Ключевые слова отделяются пробелами. find можно и не печатать, если ключевое слово не совпадает ни с одной из команд www. Команда find выполнима не всегда.
go[g] docaddressПросмотр документа с данным гипертекстным адресом.
print Команда доступна только из unix. Печатает текущий документ. По умолчанию команда печати имеет имя lpr, но ее имя может быть определено переменной www_print_command.


Стандартная форма обращения к www имеет вид:

www <option> <docaddress <ключевое слово>>,

где docaddress - гипертекстный адрес документа, который вы хотите просмотреть; а ключевое слово - объект поиска в индексе, предоставляемом docaddress. По умолчанию на экран вызывается первый документ. В нижней части экрана отображается строка выполнимых команд. Команды могут набираться как строчными, так и заглавными буквами. Имеются следующие возможности (опции):
-nНеинтерактивный режим. Документ форматируется и отображается на экране. Страницы разделяются символами form feed (FF)
-listrefsДобавляется список адресов всех ссылок вплоть до конца. Только не интерактивный режим
-pnУстанавливает длину страницы равной n строк. По умолчанию длина страницы равна 24 строкам. Команда без числа делает страницу бесконечной
-wnУстанавливает ширину страницы равной n колонкам. По умолчанию ширина равна 78, 79 или 80
-naПрячет ссылки в тексте, удобно при распечатке
-versionОтображает версию используемой программы


Для перехода к следующей странице достаточно нажать клавишу <enter>. Ниже приведен пример меню World Wide Web (в настоящее время данный вид доступа представляет скорее исторический интерес):

the world-wide web virtual library: subject catalogue
the www virtual library

this is a distributed subject catalogue. see also arrangement by service type [1], and other subject catalogues of network information [2].
mail to maintainers of the specified subject or www-request@info.cern.ch to add pointers to this list, or if you would like to contribute to administration of a subject area.
see also how to put your data on the web [3]
aeronautics mailing list archive index [4]. see also nasa larc [5]
agriculture see agricultural info [6], almanac mail servers [7]
the agricultural genome [8] (national agricultural library, part of the u.s. department of agriculture)
archaeology [9] separate list
astronomy and astrophysics [10] separate list.
1-64, back, <return> for more, quit, or help:



Цифры в квадратных скобках представляют собой пункты меню. Для выбора одного из них достаточно напечатать его номер (после двоеточия) и нажать клавишу <enter>. Поиск возможен только в случае, когда в меню в нижней части экрана присутствует слово find. Рассмотренная выше версия является устаревшей, но она дает представление о том как работает WEB-сервер.

URL (uniform resource locator) идентифицирует ресурс Internet. В общем виде URL имеет вид:

access://host/path

где access = {FTP, Gopher, Telnet, ...}; host = имя ЭВМ-сервера; path = имя файла, имя каталога, или другая информация о ресурсе.

Например, url для анонимного FTP:

означает:



Если вы не имеете WWW-клиент-сервера типа NetScape (где можно задать HTTP ресурс, который вы хотите получить), HTTP-ресурс может стать доступным для вас через электронную почту. Пошлите через e-mail запрос по адресу listserv@info.cern.ch с текстом в теле сообщения (вариант сегодня достаточно архаичный):

www URL
Например, URL для:
CNIDR Web Page: cnidr.org welcome.html
имеет форму:
http://cnidr.org/welcome.html
Пошлите сообщение:
$ mail listserv@info.cern.ch
www http://cnidr.org/welcome.html

и вы получите welcome.html страницу по электронной почте. Вы можете получить доступ к HTTP-документам с помощью telnet. Команда:

telnet info.cern.ch

вызовет базовую страницу WWW в ЦЕРН. Для того чтобы достичь нужного URL, введите команду:

go http://cnidr.org/welcome.html

В ЦЕРН WWW-команду возглавляет Tim Berners-Lee. Обнаруженные ошибки или предложения шлите по адресу www-bug@info.cern.ch. Почтовый подписной лист: www-talk@info.cern.ch. Для подписки пошлите запрос по адресу:

www-talk-request@info.cern.ch. В ЦЕРН работа WWW успешно дополняется другими информационными системами, например, библиотечной системой ALICE. Группа новостей в USENET: comp.infosystem.www.

Особенности гипертекста с его межуровневыми связями приводят к циклам при просмотре меню (возврат осуществляется по тому же маршруту, по какому вы пришли в данную точку).


Это снижает эффективность поиска. Отчасти эти недостатки устранены в графическом интерфейсе NetScape. Графические интерфейсы требуют большой пропускной способности от информационных каналов (желательно > 64 Кб/с). Именно NetScape и MS Explorer стали наиболее популярными интерфейсами поисковых информационных систем и источником наибольших загрузок в телекоммуникационных каналах. Этот интерфейс наиболее естественно позволяет работать и с графическими объектами. Публично доступны версии NetScape для Windows, Unix и т.д. Если у вас уже работает WWW-сервер, нет необходимости заводить серверы GOPHER, Archie или WAIS - их услуги обычно доступны через WWW. Сейчас существует несколько разновидностей программ-надстроек типа NetScape, например MS Explorer, LYNX и некоторые другие.

Сегодня трудно найти какую-либо фирму, организацию или общественную группу, не представленную в Интернет своей Web-страницей. Эта технология широко используется в сфере рекламы и даже продажи товаров. Следствием этого стала актуальность проблем безопасности для Web-серверов. Большинство этих проблем происходят от несовершенства программ. Несмотря на общеизвестный совет не использовать программы версии 1.0, ошибки и “дыры” встречаются и в более поздних версиях (например, в Apache V.1.1.1 или Netscape Navigator 2.0, MS Internet Explorer 3.0 и т.д.). Хотя функция Web-сервера принципиально проста: найти запрошенный URL и послать его заказчику, реально практически все существующие сервера “обросли” конфигурационными опциями, интерфейсами для различных баз данных, снабжены адаптерами для разных версий HTTP и HTML, скриптами и модулями API. В результате исполняемый модуль WWW-сервера в несколько раз больше, чем для FTP-сервера, что оставляет достаточно пространства для ошибок и возможностей для реализации хакерских замыслов.

4.5.6.1 Программное обеспечение WEB

Существует достаточно широкий список программного обеспечения для формирования WEB-сервера. Структура и конфигурация этих серверов варьируется в широких пределах, но есть у них и немало общего.


Рассмотрим основные каталоги, которые возникают при установке WEB-сервера.

Каталог конфигурации. Здесь содержатся файлы, которые определяют рабочие характеристики сервера. Этот каталог жизненно важен, и необходимо максимально возможно ограничить круг лиц, которым разрешено изменять здесь что-либо.

Инструментальный каталог администратора. Этот каталог содержит утилиты, которыми пользуется администратор сервера. Здесь могут располагаться программы управления доступом, генерации криптографических ключей и формирования поисковых индексов.

Каталог файла регистрации операций (LOG-файла). Здесь фиксируются все процедуры доступа к серверу, а также все происходящие сбои и ошибки.

Каталог CGI. В этом каталоге располагаются CGI-скрипты, которые используются для формирования документов с динамически изменяющимся содержимым, для организации доступа к базам данных и выполнения интерактивных задач. Здесь же могут находиться средства, которые позволяют администратору-программисту добавлять свои собственные функции сервера, расширяя его возможности.

Каталог документов (корневой каталог документов). Этот каталог составляет основу иерархического дерева каталогов документов сервера. Каталог может включать субкаталоги типа html, java, icons и т.д.

Помимо перечисленных может присутствовать каталог security, где лежат параметры доступа (имена и пароли) авторизованных клиентов сервера.

Современные WEB-серверы трудно себе представить без CGI-скриптов (Common Gateway Interface). Эти скрипты позволяют существенно расширить возможности сервера, обеспечить доступ к базам данных, работать с документами, содержимое которых изменяется динамически, организовать игры в реальном масштабе времени, обрабатывать запросы клиентов, посылать сообщения по электронной почте и многое другое. CGI-скрипты обеспечивают интерфейс между WEB-сервером и серверами GOPHER или FTP. Привлекательность CGI-скриптов и легкость их написания, к сожалению, дополняется тем, что совсем не просто написать их безошибочно.



CGI-скрипты ( ISO 9636) представляют собой небольшие программы, которые являются независимыми от основной программы сервера. Когда удаленный пользователь запрашивает URL, который указывает на CGI-скрипт, сервер исполняет скрипт, передавая информацию о состоянии сессии. CGI-скрипт обрабатывает эти данные и выдает документ, который, вообще говоря, может быть и не только HTML-страницей. Среди информации, которую передает сервер CGI-скрипту, обычно присутствует строка запроса, содержащая данные, которые поступили от удаленного пользователя. Форма строки запроса произвольна. Она может содержать ключевые слова для поиска или SQL-предложение для обращения к серверу базы данных. Строка запроса может быть передана CGI-скрипту двумя способами. В первом случае она прикрепляется к URL. Например:

http://www.altavista.com/cgi-bin/query?pg=q&what=web&fmt=.&q=question

Все, что следует после знака вопроса, представляет собой строку запроса. В этой версии строка запроса должна следовать требованиям записи URL, т.е. пробелы должны заменяться символом + (ключевым словом в приведенном запросе является question). CGI-скрипт извлекает строку запроса с учетом переменной конфигурации (environment). Альтернативой этому является посылка строки запроса CGI методом HTTP POST. Этот метод обычно используется при заполнении пользователем форм и отправке их удаленному серверу. В этом случае WEB-сервер направляет строку запроса непосредственно на стандартный вход скрипта. Желательно пользоваться хорошо проверенными скриптами, а при написании новых следить за тем, чтобы они ни при каких обстоятельствах не допускали исполнения команд на машине сервера и не производили несанкционированной модификации файлов.

Пользователи WEB сервера, которые имеют доступ к документам и файлам поддержки обычно делятся на четыре категории: хозяин, автор, разработчик и администратор. Каждая их этих категорий имеет разные права доступа, показанные в таблице 4.5.6.1.

Таблица 4.5.6.1. Возможности различных категорий пользователей WEB-сервера
ПользовательТип файла
КонфигурационныйИнструментальныйLOG-файлCGIДокументы
ХозяинRWRRRWRW
Разработчик---RWRW
Автор---RRW
Клиент---RR
R - разрешено чтение. W - разрешена запись и уничтожение.

Хозяином в данном случае считается администратор узла, где размещен WEB-сервер. Автор занимается подготовкой документов и рисунков. Разработчик имеет сходные функции с автором, но в его обязанности входит также разработка и модификация CGI-скриптов и модулей сервера. Клиент (посетитель) может запускать скрипты и читать любые документы. Приведенная иерархия возможностей для пользователей гарантирует устойчивую работу и безопасность WEB-сервера.


X


Семёнов Ю.А. (ГНЦ ИТЭФ), book.itep.ru

X.500 представляет собой протокол OSI для распределенных каталогов (индексов-оглавлений), разработанный CCITT. X.500 - протокол для работы с каталогами. X.500 предлагает распределенный каталог пользователей сети Интернет. X.500 поддерживает систему просмотра, а также добавления, модификации и удаления объектов в базе данных о людях (почтовый адрес, номер телефона, электронный адрес и пр.). Основным полем при поиске является фамилия, название организации, отдела, страны. Треугольные скобки служат для выделения имени параметра, а вертикальная черта - для указания значения параметра.

Каждая секция каталога содержит часть глобальной базы данных и является доступной через сервер (именуемый Directory System Agent - DSA). Каждая база данных поддерживается локально. Для пользователя же доступна вся база данных. Хотя информация, доступная через X.500, относится к людям и организациям, данная база пригодна для хранения и другой информации, например, о ресурсах сети, приложениях или оборудовании. Каждый вход в базу (объект хранения, запись) в X.500 описывает один объект (человека, конкретный ресурс сети, или организацию) и носит название Distinguished Name (неповторимый идентификатор). Это имя включает в себя следующие поля: фамилия, имя, организация, e-mail для людей. Информация в каталоге X.500 (Directory Information Base - DIB) организована иерархически и носит название информационное дерево каталога (Directory Information Tree - DIT). На верхнем уровне - корневая запись (the World), затем следует уровень страны, уровень организации и, наконец, человека (ресурса и т.д.).

X.500 доступна через локальный сервер, интерактивно через telnet или через электронную почту (или X.25). Возможен доступ и с помощью WWW или GOPHER.

Таблица 4.5.8.3.1

Адрес сервера при доступе через Telnet (login)Адрес X.25 (login)Страна
jethro.ucc.su.oz.au (fred) Австралия
elem4.vub.ac.be (dua)222100611Бельгия
x500.denet.dk (de) Дания
login.dkuug.dk (ds) Дания
nic.funet.fi (dua) Финляндия
 

20800603053201
(login: dua, password: ucom.x)
26245050230303

Франция
Франция
Германия

x500.ieunet.ie (de)272432590024Ирландия
dir.ulcc.ac.uk (dua) UK
ashe.cs.tcd.ie (de) Ирландия
jolly.nis.garr.it (de or fred)22225010083212Италия
zoek.nic.surfnet.nl (zoek) Нидерланды
elc1.mat.torun.edu.pl (de или dish) Польша
chico.rediris.es (directorio)2142160234013Испания
hypatia.umdc.umu.se (de)240374810306Швеция
nic.switch.ch (dua)22847971014540Швейцария
paradise.ulcc.ac.uk (dua)23421920014853Англия
<
/p> Локальный клиент-серверы (Directory User Agent - DUA) имеются в общедоступном и коммерческом вариантах. Для получения более полного списка DUA, их описаний и места расположения рекомендуется обратиться к RFC 1292 / FYI 11 - "A Catalog of Available X.500 Implementations".

Существует три варианта интерфейсов для доступа к X.500 в интерактивном режиме: строчные (de, dish, fred);управляемые через меню (sd, ранее известные как widget)базирующиеся на X-Windows (Xdi, Xlookup (или xlu), pod)

Сервер de (directory enquiries) рекомендуется в силу своей простоты для начинающих пользователей. Выход из de по команде q. Приведем перечень команд X.500.
?<тема>Выдает справочную информацию по данной теме (help).
^C(Ctrl-C) команда прерывания (например, поиска).
*Выдает все записи для выбранного поля. Этот же символ представляет собой подстановку для строк по умолчанию. В том качестве * может появиться где угодно, например, smit* и *smit*.
-Заменяет значение по умолчанию на пустую строку.


После выдачи команды de пользователь должен заполнить четыре поля запроса (поиск не зависит от строчных или заглавных букв):
ФамилияСимвол * может использоваться где угодно. При пробеле в этом поле поиск будет проводиться по полям подразделение (отрасль) или организация.
Наименование подразделенияНазвание или сокращенное имя подразделения в организации, где работает искомое лицо. Напечатав *, вы выберете все подразделения. Это поле может быть опущено для мелких организаций.
Название организацииНазвание или сокращение для организации, где работает искомое лицо. Напечатав *, вы выберете все организации.
Название страныНапечатав *, вы выберете все страны. В качестве названия страны можно напечатать ее код из двух букв (см. ).


Чтобы осуществить поиск с использованием электронной почты, следует послать запрос по адресу directory@uninett.no со словом find в поле Subject. В тексте сообщения размещается запрос (один на один e-mail) в форме:

find <фамилия> <:название организации <;название страны>> | <;название страны>



Если название организации и страны опущены, то берутся значения по умолчанию, которые извлекаются из вашего электронного адреса. Результат поиска будет прислан по электронной почте. Для получения файла help напечатайте help вместо find. Хотя использование e-mail кажется архаичным, в некоторых случаях не слишком экстренных оно оправдано. Вы посылаете запрос и не ждете отклика в интерактивном режиме.

Примеры использования X.500.

Введем команду: telnet nic.switch.ch и система свяжется с сервером:

Trying 130.59.1.40 ... (IP-адрес сервера)
Connected to nic.switch.ch.
Escape character is '^]'.
login: dua (здесь необходим ввод пароля)
*** Welcome to the Swiss X.500 Directory Service ***
*** Access to this service is exclusively allowed for ***
*** - Swiss universities, schools & organizations with a ***
*** SWITCH service contract ***
*** - foreign education & research organizations ***
Я опускаю процедуру выбора вида сервиса (позиция 1, как и в случае FRED).

SWITCHdirectory User Interfaces
[ 1 ]de (simple interface to find persons)
[ 2 ]fred (simple white pages interface ('whois')
[ 3 ]sd (menu oriented, only read functionality)
[ 4 ]Dish (command line, full X.500 functionality)
[ 5 ]Xdi (X window interface)
[ 6 ]Xlu (X window interface)
[ 7 ]XT-DUA (Commercial X window interface)
[ 0 ]Leave this Menu (back to previous Menu)


Снова вводим 1 (WHOIS-сервер) и получаем на экране:

invoking interface "de", please wait....
Welcome to the SWITCHdirectory Service
Connecting to the Directory - wait just a moment please...
You can use this directory service to look up telephone numbers and electronic mail addresses of people and organizations participating in the Pilot Directory Service.
The interface offers several MODES of usage. Type ?modes for an explanation about the modes. You can change the mode by typing one of the following option letters at the prompt for a PERSON's name.
sSimple queries - the original style of this interface
pPowerful, multiple organization searches
yYellow pages queries (uses power searching)
uInput queries in user-friendly name format
mMenu to select modes or access help facilities




At any prompt:
? for HELP with the current question you are being asked
??for HELP on HELP
qto quit the Directory Service
Control-Cto abandon current query or entry of current query


Simple query mode selected

Поищем "любые организации, известные в России", введя * в ответ на вопрос организации. Получаем:

Department name, <CR> to search, * to list, ? for help
:- *
Organisation name, <CR> to search, * to list orgs, ? for help
:- *
Country name, <CR> to search, * to list countries, ? for help
:- Russia (далее следует результат поиска по данному запросу)
Found the following entries. Please select one from the list by typing the number corresponding to the entry you want.

Russian Federation
1 J.S.C. Mineralnye Udobreniya
2 Moscow State University
3 Radom-Vostok
Organization name, <CR> to search, * to list orgs, ? for help

Не много, но все же..... (пример относится к 1994 году)

Печатаем 2 и получаем:

Russian Federation
Moscow State University
In the meantime, displaying organization details.
For information on people or departments, try again a little later.
Russian Federation
Moscow State University
postal address MSU
Moscow State University
University Park
Leninsky Gori
Simple query mode selected
Person's name, q to quit, * to list people, ? for help


:- q
(прерываем сессию)


Для получения дополнительной информации рекомендуется прочесть RFC-1292 (доступные реализации X.500), RFC-1308 (Введение в службу каталогов, использующую протокол X.500) и RFC-1309 (технический обзор по протоколу X.500). Рекомендации по использованию X.500 можно получить, послав команду GET ITU-5233 по адресу itudoc@itu.ch. (объем документа весьма велик!). Их других источников можно упомянуть:

FTP nic.merit.edu documents/fyi/fyi_13.txt (fyi_11.txt, fyi_14.txt).
telnet rs.internic.net.
gopher judgmentday.rs.itd.umich.edu :7777/;
WWW www.earn.net gnrt/x500.html;
http1.brunel.ac.uk :8080/wlu.html.


Замечания о безопасности


Якоря, встроенные изображения и все другие элементы, которые содержат URI в качестве параметров, могут вызвать повторное обращение к URI в ответ на ввод пользователя. В этом случае, следует рассмотреть соображения безопасности RFC-1738. Широко распространенные методы посылки запросов форм - HTTP и SMTP - обеспечивают ограниченную конфиденциальность. Провайдеры информации, которые запрашивают необходимые данные с помощью форм - точнее с помощью элементов INPUT, type="password" - должны позаботиться о том, чтобы сами пользователи учитывали возможность утечки конфиденциальной информации.



Замечания о доступности


Замечание. Следующий алгоритм генерации альтернативного текста может быть заменен рекомендациями W3C Web Accessibility Initiative Group. Для получения дополнительной информации предлагается ссылка [WAIGUIDE].

Когда разработчик не устанавливает атрибут alt для элементов IMG или APPLET, агент пользователя должен предоставить альтернативный текст, который получается следующим способом:

Если title был специфицирован, его значение должно использоваться в качестве альтернативного текста.

В противном случае, если HTTP-заголовки предоставляют информацию о title, эта информация и должна использоваться в качестве альтернативного текста.

В противном случае, если включенные объекты содержат текстовые поля (напр., GIF изображения содержат некоторые текстовые поля), информация из текстовых полей извлекается и используется в качестве альтернативного текста. Так как агенты пользователя для извлечения текстовых данных могут быть вынуждены заполучить сначала весь объект, пользовательские агенты могут воспользоваться каким-либо более экономным подходом.

В противном случае, в отсутствии другой информации агенты пользователя должны воспользоваться именем файла (за вычетом расширения) в качестве альтернативного текста.

Если разработчик не установил атрибут alt для элемента INPUT, агент пользователя должен получить альтернативный текст следующим образом:

Если был специфицирован атрибут title, его значение должно использоваться в качестве альтернативного текста.

В противном случае, если специфицировано имя, его значение используется как альтернативный текст.

В противном случае (кнопки submit и reset), значение атрибута type должно использоваться в качестве альтернативного текста.



Замечания о формах Инкрементное отображение


Инкрементное отображение документов, полученных по сети, создают некоторые проблемы, связанные с формами. Агенты пользователя должны позаботиться о том, чтобы форма не была передана серверу до тех пор, пока не получены все элементы формы.

Если формы связаны со скриптами стороны клиента, создаются предпосылки для будущих проблем. Например, хандлер скриптов для данного поля может относиться к полю, которого пока не существует.



Замечания о таблицах


Модель таблиц HTML взята из исследований существующих моделей таблиц SGML. Модель выбрана из соображений простоты и возможностей дальнейшего расширения функций, если это потребуется.

Важно, что модель таблиц HTML согласуется с большинством существующих средств их создания (напр., с текстовыми редакторами).



Замечания об использовании sgml


Разрывы строк

SGML специфицирует то, что разрыв строки сразу после начальной метки должен игнорироваться, также как и разрыв строки непосредственно перед конечной меткой. Это приложимо ко всем HTML-элементам без исключения. Следующие два HTML-примера должны отображаться идентично:

<p> Томас смотрит телевизор.</p>
<p>
Томас смотрит телевизор.
</p>

Аналогично идентичными должны быть и следующие два примера:

<a>my favorite website</a>
<a>
my favorite website
</a>



Замечания по поводу некорректных документов


Эта спецификация не определяет, как агент пользователя должен обрабатывать случаи ошибок, включая то, как агент пользователя должен себя вести, встретив элемент, атрибут, значение атрибута или объект, не специфицированный в данном документе.

Однако, для облегчения экспериментов и взаимосогласованности между различными приложениями разных версий HTML, рекомендуется следующее:

Если агент пользователя встретил незнакомый элемент, он должен попытаться отобразить (render) его содержимое.

Если агент пользователя встретил незнакомый атрибут, он должен его игнорировать всю спецификацию этого атрибута (напр., атрибут и его значение).

Если агент пользователя встретил незнакомое значение атрибута, он должен использовать значение атрибута по умолчанию.

Если он встретил не декларированный объект, объект должен восприниматься как символьная информация.

Рекомендуется также, чтобы агенты пользователя обеспечивали информирование пользователя о перечисленных выше случаях.

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

Спецификация HTML 2.0 (RFC-1866) предполагает, что многие агенты пользователя HTML 2.0 считают, что документы, не начинающиеся с декларации типа, являются документами HTML 2.0. Как показывает практика, это плохое предположение, данная спецификация не рекомендует такое поведение агентов пользователя.

Для целей совместимости разработчики не должны "расширять" HTML за пределы доступных механизмов SGML (напр., расширяя DTD, добавляя новые наборы объектов, и т.д.).

34. Специальные символы в значениях атрибута uri
34.1. Не-ASCII символы в значениях атрибута URL

Хотя URI не содержат не-ASCII значений, разработчики иногда специфицируют их в атрибутах, где должен лежать URI (напр., определенные с помощью %uri в DTD). Например, следующее значение Href нелегально:

<a href="http://foo.org/hеkon">...</a>


Рекомендуется, чтобы агент пользователя воспринял следующее соглашение для обработки не-ASCII символов в следующих случаях:
Представлять каждый символ в UTF-8 (см. RFC-2044) как один или более байт.
Обходить эти байты с помощью механизма URI (напр., путем конверсии каждого байта в %HH, где HH представляет собой шестнадцатеричное представление значения байта).
Эта процедура выдает в результате синтаксически корректный uri (как это определено в RFC-1738, секция 2.2 или RFC-2141, секция 2), это не зависит от метода кодировки символов.
Замечание. Некоторые старые агенты пользователя обрабатывают URI в HTML тривиально, используя байты символов в том виде, в котором они записаны в документе. Некоторые старые HTML-документы полагаются на эту практику и прерывают свою работы при перекодировке (transcode). Агенты пользователя, которые хотят работать с этими старыми документами должны при получении URI, содержащего нестандартные символы, сначала использовать преобразование, базирующееся на UTF-8. Только если полученное в результате URI не удается распознать, они должны попробовать сформировать URI, базируясь на байтах символов в кодировке полученного документа.
Замечание. То же самое преобразование, базирующееся на UTF-8 должно быть применено к значениям атрибутов имен для элемента A.

Заметки о скриптах


Эта спецификация резервирует синтаксис для будущей поддержки скриптовых макро в атрибутах cdata HTML. Целью этого является допущение установки атрибутов, зависящих от свойств объектов, которые были записаны выше на странице. Синтаксис выглядит следующим образом:

attribute = "... &{ macro body }; ... "

Существующая практика скриптов

Тело макро состоит из одного или более записей на языке скриптов. Точка с запятой, следующая за правой фигурной скобкой, всегда необходима, иначе правая фигурная скобка будет рассматриваться как часть текста макро.

Обработка Cdata атрибутов производится следующим образом:

Анализатор текста sgml вычисляет любой символьный объект SGML (напр., "&gt;").

Далее скриптовые макросы обрабатываются интерпретатором скриптов.

И, наконец, результирующая последовательность символов передается приложению для последующей обработки.

Обработка макро имеет место, когда документ загружается, но эта процедура не повторяется, когда документ изменяется в размере или перезакрашивается.

Не рекомендуемый пример:

Ниже приведены примеры с использованием Javascript. Первый делает фон документа рэндомизованным:

<body bgcolor='&{randomrbg};'>

Возможно, вы хотите приглушить фон для просмотра в вечернее время:

<body bgcolor='&{if(date.gethours > 18)...};'>

Следующий пример использует javascript при установке координат для карты изображения на стороне клиента:

<map name=foo>
<area shape="rect" coords="&{myrect(imageuri)};" href="&{myuri};" alt="">
</map>

Этот пример устанавливает размер изображения, базируясь на свойствах документа:

<img src="bar.gif" width='&{document.banner.width/2};' height='50%' alt="banner">

Вы можете установить URI для связи или изображения с помощью скрипта:

<SCRIPT type="text/javascript">
function manufacturer(widget) {
...
}
function location(manufacturer) {
...
}
function logo(manufacturer) {
...
}
</SCRIPT>
<A href='&{location(manufacturer("widget"))};'>widget</A>
<IMG src='&{logo(manufacturer("widget"))};' alt="logo">

Последний пример показывает, как SGML CDATA атрибуты могут помещаться в одинарные или двойные кавычки. Если вы помещаете строку атрибута в одиночные кавычки, вы можете использовать двойные кавычки в качестве части строки атрибута. Другой подход связан с использованием &quot; для двухкавычечных меток:

<IMG src="&{logo(manufacturer(&quot;widget&quot;))};" alt="logo">



Заметки по индексному поиску Определение языка документа


В глобальном контексте WWW важно знать, какой язык использован при написании документа. Если вы подготовили перевод документа на другие языки, вам следует воспользоваться для ссылки на них элементом Link. Это позволяет индексной поисковой системе предложить пользователям результат на языке, который они предпочитают, вне зависимости от того, как составлен запрос. Например, следующие связи предлагают французскую и немецкую альтернативу поисковой системы.

<link rel="alternate"
type="text/html"
href="mydoc-fr.html" hreflang="fr"
lang="fr" title="la vie souterraine">
<link rel="alternate"
type="text/html"
href="mydoc-de.html" hreflang="de"
lang="de" title="das leben im untergrund">

Обеспечение ключевыми словами и описаниями

Некоторые системы индексации ищут META-элементы, которые определяют список ключевых слов или фраз, разделенных запятыми, или которые дают краткие описания. Поисковая система может представить эти ключевые слова в качестве результата поиска. Значение атрибута имени, которое ищется атрибутом поиска, не определено спецификацией. Рассмотрим такие примеры,

<meta name="keywords" content="vacation, greece, sunshine">
<meta name="description" content="idyllic european vacations">

Выделение начала коллекции

Собрание документов, где ищутся слова, часто преобразуется в собрание HTML-документов. Для результатов поиска полезно указать начало такого собрания. Вы можете помочь системе поиска. Использовав элемент Link с rel="start" и атрибутом title attribute, как в:

<link rel="begin"
type="text/html"
href="page1.html"
title="general theory of relativity">

Роботы с инструкцией индексирования

Люди могут удивиться, узнав, что их сайт был индексирован роботом, хотя роботу не было разрешено посещать некоторые критические секции. Многие web-роботы предлагают возможности администраторам сайтов и провайдерам информации ограничить возможности роботов. Это достигается с помощью двух механизмов: файла "robots.txt" и элемента meta в HTML-документах, как это показано ниже.



Запрос доступа


Пакеты Access-Request посылаются серверу RADIUS, и передают информацию, которая используется для определения того, позволен ли данному пользователю доступ к специфицированному NAS, и допустимы ли запрошенные услуги. Программная реализация, желающая аутентифицировать пользователя, должна послать пакет RADIUS с кодом поля тип=1 (Access-Request).

При получении запроса (Access-Request) доступа от корректного клиента, должен быть передан соответствующий ответ. Запрос доступа (Access-Request) должен содержать атрибут имени пользователя. Он должен включать в себя атрибут NAS-IP-адреса или атрибут NAS-идентификатора (или оба эти атрибута, хотя это и не рекомендуется). Он должен содержать атрибут пароля пользователя (User-Password) или атрибут CHAP-пароля. Желательно, чтобы он содержал атрибут NAS-порта или NAS-Port-Type или оба эти атрибута, если только тип запрошенного доступа не содержал номер порта.

Запрос доступа (Access-Request) может содержать дополнительные атрибуты - подсказки серверу, но последний не обязан следовать этим подсказкам. Когда присутствует пароль пользователя (User-Password), он защищается с использованием метода, базирующегося на RSA алгоритме MD5 [1]. Формат пакета Access-Request аналогичен показанному на рис. .1. Только на месте поля аутентификатор размещается поле аутентификатор запроса (Request Authenticator), а в поле код записывается 1.

Поле идентификатор должно измениться при изменении содержимого поля атрибуты, и при получении корректного ответа на предыдущий запрос. При повторных передачах поле идентификатор остается неизменным.

Значение поля аутентификатор запроса (Request Authenticator) должно изменяться, когда используется новый идентификатор.

Поле атрибуты имеет переменную длину и содержит список атрибутов, которые необходимы для заданного типа сервиса, а также любых дополнительных опционных атрибутов.



Запрос/Отклик


При аутентификации приглашение/отклик, пользователю дается псевдослучайное число и предлагается его зашифровать и вернуть результат. Авторизованные пользователи снабжаются специальными средствами, такими как смарт-карта или программой, которая облегчает вычисление отклика.

Пакет Access-Challenge обычно содержит сообщение-ответ, включая приглашение (challenge), которое должно быть отображено для пользователя. Обычно оно имеет форму числа и получается от внешнего сервера, который знает, какого типа аутентификатор должен быть применен для данного авторизованного пользователя и, следовательно, может выбрать псевдослучайное число заданной длины.

Пользователь вводит приглашение в свое устройство или программу и вычисляет отклик, который через клиента транспортируется серверу RADIUS посредством второго сообщения Access-Request. Если отклик соответствует ожидаемому значению, сервер присылает сообщение Access-Accept, в противном случае - Access-Reject.

Пример: NAS посылает серверу RADIUS пакет Access-Request с NAS-идентификатором, NAS-портом, именем пользователя, паролем пользователя (который может быть фиксированной строкой, как приглашение "challenge", но Access-Challenge с сообщениями состояния (State) и Reply-Message вместе со строкой "Challenge 12345678, enter your response at the prompt", которую отображает NAS. NAS предлагает ввести отклик и посылает серверу новый запрос NEW Access-Request (с новым идентификатором) с NAS-идентификатором, NAS-портом, именем пользователя, паролем пользователя (отклик, введенный пользователем, шифруется) и с тем же самым атрибутом состояния, который прислан с Access-Challenge. Сервер затем присылает назад Access-Accept или Access-Reject в зависимости от того, корректен ли отклик или следует послать еще один Access-Challenge.



Зарезервированный синтаксис для будущих скриптов


Так как не существует гарантии того, что имя адресата рамки уникально, представляется разумным описать существующую практику нахождения имени адресата, заданного в рамке:

Если имя адресата является зарезервированным именем, как это записано в нормативном тексте, следует использовать его так, как описано.

В противном случае, следует выполнить поиск согласно иерархии рамок в окне, где содержится эта связь. Следует использовать первую рамку, имя которой соответствует искомому.

Если такой рамки не найдено на этапе (2), используется этап 2 для каждого окна в послойном порядке, начиная с переднего плана. Поиск прекращается, когда найдена рамка с соответствующим именем.

Если такой рамки не найдено на этапе (3), следует создать новое окно и присвоить ему имя адресата.