Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801), страница 152
Текст из файла (страница 152)
яср. 12.2. Всемирная паутина чЧЧФМ 547 ввв.св.цшв.еви (128 8.128.80 Пиру/вчгв.сз.цпн/ ерц/цвета/ цзегз/гпч Рнс. 12.8. Органнзациядоступа квеь-страницам 3. '1/Чге!т-браузер посылает имя файла (взегз/пгчг/рхЬоо1) тчеЬ-серверу с 1Р-адресом 128.8.128.80. Программа НТТР-лсмоп (НТТРР) иа этой машине является ос>п>иным средством взаимодействия между сервером и Интернетом.
Эта программа постоянно осуществляет мои иторипг подсоедивеиия компьютера к сети Иитервст, отслеживая соответствующие НТТР-сообщения. Демон — зто программа операционной системы, которая постоянно выполняется. Программы печати, программы управления памятью и программы- планировщики явля/отея тип ичиы ми программами-демонами в большинстве операционных систем.
Чтобы реализовать веЬ-технологию, па компьютере- сервере должен бьщь установлен демон НТТР. 4. В нашем примере всЪ-сервер к имени озегз/гпчг/ргЬоо1 добавит имя (поех. ЬтгпЬ так как заданный нами файл озегз/шчх/ргЬоо1 являлся каталогом, а ие файлом. (Сервер иа псрсоиальном компьютере обычно добавляет1пдех Ь(ш или г/е(ап(1.
Ь(пь) 5. Содержимое файла озегз/и/чх/ргЬооМ/(пг(ех.Ь(п/(отсылается назад веЬ-брау- зеру и отображается лля пользователя. 6. Если теперь пользователь щелкнет иа гиперссылке с ()И.-адресом издательства «Преитис-Холл» (ввв.ргеп((сеЬ81(.согп), которая содержится па отображенной странице, то процесс //овторггтся заново, браузер соединится с веЬ-сервером издател ьст ва Прситис-Холл» по 1Р-адресу 6369.11094, после чего иа компьютере пользователя отобразится соответствующая веЪ- страиипа. 548 Глава З 2. Сетевое программирование Аналогичным образом пользователь может переходить по ссылкам с одной страницы на другую, посегдая згеЬ-серверы по всему миру, пока не найдет требуемую информацию.
Порталы. Чтобы облегчить навигацию в Интернете, теперь в сети существуют жеЬ-сайты, называемые порталами, — сайты входа во Всемирную паутину %Аг%. На этих сайтах имеются программы, известные как поисковые машины. Поисковая машина — это обработчик запросов, который, получив запрос пользователя, возвращает список соответствующих жеЬ-страниц в виде гиперссылок. Щелкая мышью на подходящих ссылках, пользователь может просматривать чгеЪ-страницьн получая информацию.
Поисковые машины часто действуют как меб-навигаглоры. Начиная с какой- либо странипы, зуеЬ-навигатор перебирает все имеющиеся на странице ссылки. Таким образом, в принципе, можно добраться до любой странице в сети, даже не зная ее П КЬ. Ъ еЬ-навигатор строит базу данных кратких рефератов всех страниц, и запрос к поисковой мапзине возвращает информацию из этой базы данных.
Например, в каком-либо университете у каждого профессора может иметься домашняя страница. На такой странице могут содержаться ссылки на домашнюю страницу факультета и университета. Те университеты, в которых профессоры получили свои научные степени, также могут быть перечислены на их домашних страницах, как н компании и организации, с которыми они сотрудничают. Используя этот постепенно расширяюгнийся круг ссылок, можно, в пршщипе, достигнуть любой точки в Интернете.
Различие между разными поисковыми машинами заключается в том, каким образом в них классифицируется информация, полученная в ответ на запрос. Алгоритм классификации в основном является закрытой информацией, поэтому при использовании разных поисковых машин для ответа на один и тот же вопрос можно получить очень разные ответы. НТМЬ Одной из важных сторон навигации во Всемирной паутине являешься возможность отображения лгеЬ-страниц с щеЬ-сервера и нахождения и активизации ПКЬ-адресов при переходе от одного чгеЬ-сайта к другому.
НТМЬ вЂ” это язык семантического описания, разработанный уже упоминавшейся группой из СЕКЯ под руководством Тима Бернерса Лп. Ои создает виртуальную ма~пину, на выполнение которой запрограммирован жеЬ-браузер при осуществлении зчеЬ-функций. Что касается фактических деталей системы обозначений для создания этого нового протокола, в СЕКЯ было принято решение использовать версию стандартного обобщенного языка разметки (Вгапоагг) Сепега1йгсд Магкпр Ьапйиайе, ЕСМЬ), которую назвали НТМ1. (НурегТехг Магкпр Ьапяпаяе — язык разметки гипертекста). ЕСМЬ. Сначала мы обсудим обгцую систему обозначений ЕСМЬ, а затем перейдем к рассмотрению НТМЬ как экземпляра ЕСМЬ. История 5СМЕ. Развитие ВСМ1. началось в конце 60-х гг., когда был создан язык для форматирования документов с помощью тегов-описаний.
Вместо использования собственных ключевых слов документ мог быть структурирован в соответствии с некоторым заранее определенным множеством терминов, например заголовок раздела, название, рисунок и т. д. В таком контексте семантическая информация о документе могла бы передаваться вместе с его фактическим содержанием.
12.2. Всемирная паутина 1адайаг 549 В конце 60-х гг. Комитет оформления ассоциации графической информации (СгарЬьс Согппспп1сас!оп Аазос1вс!оп Сощроз(с(оп Сопнп1ссее), используя идеи Вильяма Танниклифа (ЪЧ!!1!а!и Тппп!с!!1(е), Стенли Райса (8сап!еу %се) и Нормана Шарифа (Хоппап БсЬагр1), разработала концепцию определения различных общих кодов, необходимых для различных документов, получившую название СепСос)е(В). В 1969 г. с1арльз Гольдфарб (СЬаг1ез СЬ1сИагЪ) из 1ВМ совместно с Эдвардом Мошером (Ес!васс( Мозйег) и Раймондом Лори (Ваугпопс! олпе) разработали обобщенный язык разметки (Сепега1!хес) Маг!ссср !апйпайе, СМ1.) идентификации компонентов документа с помощью специального вложенного синтаксиса.
В 1978 г. Национальный институт стандартизации США (Ащепсап Нас(опа! 8сапс!агсЬ 1пзбгще, АХЯ1) организовал специальную группу стандартов для обьединения концепций СепСос!е(В) и СМ(.. Результатом этой работы стал ВС>М)., который был утвержден Международной организацией по стандартам (!псегпасюпа! 8сапс)агс)з Огйаса1ьчсс(оп, 180) в 1986 г. под номером 8879. Синтаксис 5СМ7.. Документ состоит из текста, который является неструктурированной последовательностью сил!волов. Но в текст мосут быль встроены элеасессгльс 5СМ7..
Семантика этих элементов не специфицирована, но их синтаксис определен. Элементы заключень! между начальным тегом и завершающим тегом. Например, элемент гоги начинается с тета <гога> н заверп!ается тегом </уог~>. Весь текст, расположенный между тегамп, принадлежит этому элементу. Например: <аогк> 1 ав а гогк </гога> определяет строку ! а!к а логЕ как содержание элемента логЕ. В тех случаях, когда конец элемента определяется однозначно, завершающий тег можно опустить.
Например, если бы мы определилн доклад как докумен~ 8СМ 1., состояпсий из названия (с!с1е), имени автора (авсьог), краткого содержания (аьвсгасс) и тела доклада (ьооу ос секс), мы могли бы дать его описание в виде <герогг> <Ссг1е> секес <!Ссг1е> <аоспог> текст <Гаоьвог> <аьатгасг> текст </аоаггасС> <Ьоеу> текст </Ьоеу> </герогс> или <герогг> <С!С1е> секс~ <аосвог> текст <аьаггаст> текст <Ьооу> текст <!серого> поскольку каждый раздел однозначно переходи~ в следующий.
Если мы определяем тело доклада как последовательность разделов, каждый из которых содержит вложенные разделы, до неограниченной глубины, тогда каждый раздел определяется с помощью синтаксиса: <аесгсоо> ~ексс <с'кеса~оп> В данном едуч!се, однако, необходимо использовать заверщасощнй тег, так как местоположение границы между вложенными разделами однозначно не определяется. 550 Глава 12. Сетевое программирование Важной особенностью БСМЬ является то, что он отделяет атрибуты документа от его содержания.
Мы могли бы напечатать элемент <герог1> любым шрифтом и не разрушить основной смысл документа. Мы могли бы напечатать элемент <1т11е> шрифтом 20-го кегля, а элемент <аигрог> — шрифтом 16-го кегля или воооще все элемснты напечатать шрифтом 10-го ксгля. Все это никак не повлияет на контекст документа. Как мы увидим позже, в НТМЬ это связано с некоторыми проблемами, так как файл НТМЕ является одновременно и описанием того, что содержит тусЬ-страница, и описанием того, как эта страница будет отображена. Применение БСМЬ может решить более серьезные проблемы, касающиеся представления докумеп га, Например, даты в разных странах часто отображают.— ся в различных форматах (см. раздел 1.3.4), Сообщсние (шешо) Встреча состоится 11/10/01» в Европе и в Соединенных Штатах будет воспринято по-разному.
Если это сообщение распространяется среди сотрудников международной компании, то может возникнуть недоразумение — часть сотрудников может подумать, что встреча запланирована на 10 ноября, а часть решит, что имеется в виду 11 октября. Но если бы это сообщение было составлено с использованием ВСМ 1., то можно было бы использовать соответствующий элемен г <Ваге> и записать его в виде . <пево> Встреча состоитсп < Сато иоииентарий 56И! — офорнпение пати <сапе> <пропп> 11 <Оау> 10 <уеаг> 2001 <мате>, <тапио> Различные клиентские почтовые программы в Европе и в США отобразили бы элемент <баге> нужным образом для каждого пользователя.
Множество используемых элементов описьгвается в компоненте ЯСМ(., называемом объявлением типа документа (Эосцгпеп1 Туре Г)ес1агаг(оп, ЭТ1)), в котором содержится грамматическое описание всех доступных для данного документа тегов. Хотя в оСМь имеются и другие компоненты, приведенного здесь описания достаточно, чтобы перейти к рассмотрению НТМ1.. Синтаксис и семантика НТМ1.. Когда группа из СЕВЫ разрабатывала исходную концепцию браузсра просмотра гипертекстовых документов, нотация ЕСМЕ была взята за основу нотации и нового языка, который получил название язык разметки гипертекста (НурегТехг Магипр 1.апцпайе, НТМ1 ). Имена файлов, содержащих текст НТМ(., выглядят как парте.Ь1гр(. (На РС, где имеется ограничение на длину расширения имени файла, которое не должно превышать трех символов, НТМ1.-файлам обычно даются имена пашеЛ 11л.) По умолчанию, когда тусЬ-браузер пытастгя пол учить доступ к новому компьютеру, он читает НТМ 1.-файл с именем (поех.