Стремясь завоевать лидерство в сфере продуктов и программ для WWW, две крупнейшие компании – Netscape, первой утвердившиеся на этом рынке, и вездесущая (там, где есть деньги) Microsoft Corp., которая тоже не может упустить такой лакомый кусок, - наперебой вводили все новые дополнения и расширения в HTML. И, разумеется, чаще всего эти усовершенствования поддерживались браузером соответствующей фирмы – либо Netscape Navigator фирмы Netscape, либо Microsoft Internet Explorer, соответственно, фирмы Microsoft.
Помимо частичной несовместимости друг с другом, Nestacape Navigator и Internet Explorer в гораздо большей степени были несовместимы с официальным стандартом языка HTML, разработанным международной организацией W3C. Версия 2.0 этого стандарта (принятая в сентябре 1995 года) не включала в себя очень многие из их расширений.
В течение конца 1995-начала 1996 года обе фирмы (Netscape и MS) делали все возможное, чтобы следующая версия стандарта HTML – третья – включала в себя именно их усовершенствования. Однако разработчики HTML3 занимались тем временем почти исключительно теми направлениями развития языка, которые NS и MS обошли стороной, - например, собственной системой стилевых файлов (отличной от предложенной впоследствии Microsoft) и кодированием математичских формул. Третья версия стандарта, долгоо время существовашая в черновом варианте, была по всем параметрам очень далека как от версии 2.0, так и от предложений Netscape и Microsoft. К сожалению, ни к чему хорошему это не привело – Консорциум W3, оказавшись не в силах довести до конца проект HTML3, решил прервать работу над этим стандартом, а вместо него подготовил в сотрудничестве с Micosoft, Netscape, Sun и другими фирмами версию стандарта HTML 3.2, которая почти полностью копирует вариант этого языка фирмы Netscape.
И с появлением в мае 1996-го HTML 3.2 возможности самого языка были значительно расширены. В частности были реализованы так называемые таблицы стилей (style sheets), усовершенствованны средства форматирования, появились новые средства компоновки, возможность разделения документа на разделы, введена поддержка математических символов (основанная на языке LaTeX) и апплетов языка Java.
Во время чтения гипертекста вы видите подсвеченные (выделенные) в тексте слова. Если «наехать» на них курсором мыши и нажать клавишу или на кнопку мышки, то высветится то, на что ссылалось это слово, например, другой параграф той же главы этого же текста. Такое представление переходов называется ссылками (URL, Uniform Resource Locator – Унифицированный указатель ресурсов)
В WWW по ключевым словам можно попасть в совершенно другой текст из другого документа, войти в какую-нибудь программу, произвести какое-либо действие и т.д. В Internet в контексте WWW можно получать доступ к чему угодно, к telnet, e-mail, ftp, Gopher, WAIS, Archie, UseNet News и т.п.
В WWW можно ссылаться на данные на других машинах в любом месте сети, тогда при активации этой ссылки эти данные автоматически передадутся на исходную машину, и вы увидите на экране текст, данные, картинку, а если провести в жизнь идею мультимедиа, то и звук услышите, музыку, речь.
Это слегка напоминает Gopher (см. далее), но фактически это принципиально другое и новое. В Gopher имеется жесткая структура меню, по которому вы двигаетесь, как вам угодно. Эта структура не зависит от того, что вы делаете, какой документ пользуете и т.д. В WWW вы двигаетесь по документу, который может иметь какую угодно гипертекстовую структуру. Вы сами можете организовать структуры меню в гипертексте. Имея редактор гипертекстов, вы можете создать любую структуру рабочей среды, включая документацию, файлы, данные, картины, программное обеспечение и т.д., и это не будет новое программное обеспечение, а просто гипертекст. Увы, создание гипертекстовых редакторов с человеческим лицом (дружественным интерфейсом, отладчиком и т.д.) задача не из простых и еще не решенная.
Так как «читать» гипертекст приятнее (и вообще имеет смысл) в том случае, когда не возникает задержек при активации ссылок (подкачка текста с другого сервера или просто с сервера, но по местной сетевой линии, пересылка изображений, баз данных и т.д.), то WWW следует устанавливать на быстрые линии. На медленных линиях использование WWW превратится в сплошное мучение, ожидание, зависание, все прелести и сам смысл теряются. Также нерационально работать, например, по telnet в WWW на очень далеко расположенной машине - слишком дорого.
Теперь Вам должно быть ясно, каким образом метафора гипертекста применима к Всемирной Паутине и WWW-страницам. Действительно, WWW напоминает паутину, в которой каждый узел или WWW-страница представляют собой систему расходящихся связей с другими узлами или страницами, каждая из которых, в свою очередь, связана с еще большим числом страниц. Таким образом, в принципе, зайдя на один сервер можно посетить все серверы Internet (такая беспорядочная прогулка по WWW называется «скольжением» или «Web-серфингом»).
Вторым краеугольным камнем WWW стала универсальная форма адресации информационных ресурсов. Universal Resource Identification (URI) представляет собой довольно стройную систему, учитывающую опыт адресации и идентификации e-mail, Gopher, WAIS, telnet, ftp и т. п. Но реально из всего, что описано в URI, для организации баз данных в WWW требуется только Universal Resource Locator (URL). Без наличия этой спецификации вся мощь HTML оказалась бы бесполезной. URL используется в гипертекстовых ссылках и обеспечивает доступ к распределенным ресурсам сети. В URL можно адресовать как другие гипертекстовые документы формата HTML, так и ресурсы e-mail, telnet, ftp, Gopher, WAIS, например.
Различные интерфейсные программы по-разному осуществляют доступ к этим ресурсам. Одни, как, например, Netscape, сами способны поддерживать взаимодействие по протоколам, отличным от протокола HTTP, базового для WWW, другие, как, например, Chimera, вызывают для этой цели внешние программы. Однако, даже в первом случае, базовой формой представления отображаемой информации является HTML, а ссылки на другие ресурсы имеют форму URL. Следует отметить, что программы обработки электронной почты в формате MIME также имеют возможность отображать документы, представленные в формате HTML. Для этой цели в MIME зарезервирован тип “text/html”.
Третьим в нашем списке стоит протокол обмена данными в World Wide Web -HyperText Transfer Protocol. Данный протокол предназначен для обмена Гипертекстовыми документами и учитывает специфику такого обмена. Так, в
процессе взаимодействия, клиент может получить новый адрес ресурса на сети
(relocation), запросить встроенную графику, принять и передать параметры и
т. п. Управление в HTTP реализовано в виде ASCII-команд. Реально
разработчик гипертекстовой базы данных сталкивается с элементами протокола
только при использовании внешних расчетных программ или при доступе к
внешним относительно WWW информационным ресурсам, например базам данных.
Последняя составляющая технологии WWW - это уже плод работы группы NCSA -спецификация Common Gateway Interface.
CGI была специально разработана для расширения возможностей WWW за счет подключения всевозможного внешнего программного обеспечения. Такой подход логично продолжал принцип публичности и простоты разработки и наращивания возможностей WWW. Если команда CERN предложила простой и быстрый способ разработки баз данных, то NCSA развила этот принцип на разработку программных средств. Надо заметить, что в общедоступной библиотеке CERN были модули, позволяющие программистам подключать свои программы к серверу HTTP, но это требовало использования этой библиотеки.
Предложенный и описанный в CGI способ подключения не требовал дополнительных библиотек и буквально ошеломлял своей простотой. Сервер взаимодействовал с программами через стандартные потоки ввода/вывода, что упрощает программирование до предела. При реализации CGI чрезвычайно важное место заняли методы доступа, описанные в HTTP. И хотя реально используются только два из них (GET и POST), опыт развития HTML показывает, что сообщество WWW ждет развития и CGI по мере усложнения задач, в которых будет использоваться WWW-технология.
Ранее документы на Web были статическими, в том смысле, что вы можете хоть сотню раз загрузить одну и ту же страницу, но ее содержание от этого не изменится. Однако мы живем в таком мире, где новая информация пользуется повышенным вниманием. Один из методов привлечения внимания пользователей – это введение элемента интерактивности. С появлением CGI обеспечить этот элемент стало значительно проще.
Кроме CGI так же имеется такой инструмент, как форма. Формы являются составляющими той же модели взаимодействия, что и CGI-сценарии, и позволяют вводить данные для своего запроса или в качестве ответа, - например, делать заказ на приобретение чего-либо, организовывать поиск необходимого ресурса, регистрироваться в гостевой книге какого-либо сайта и т.п. Это – «внешний интерфейс», с которым пользователи взаимодействуют.
CGI-сценарии составляют скрытую от глаз пользователя часть интерактивного взаимодействия. Они принимают информацию, посланную серверу через Web и обрабатывают ее, запрашивая базы данных, выполняя Ваши распоряжения или просто регистрируя полученные сведения. Все это происходит «за кадром», но как раз здесь и выполняется реальная работа. Затем результаты передаются обратно. О такой HTML-странице говорят, что она формируется «на лету» или «динамически генерируется».
CGI – этот «ворота» к функциональным возможностям, предварительно не запрограммированным в сервере, что позволяет использовать все возможности компьютера, вместо того, что бы использовать только те, которые являются частью программного обеспечения HTTP-сервера.
Глава 5 - 2. Службы Internet – прочие
Электронная почта (E-Mail)
Электронная почта или E-Mail – это обмен почтовыми сообщениями с любым абонентом сети Internet. Электронная почта во многом похожа на обычную почту. С ее помощью письмо – текст (или текст + файл), снабженный стандартным заголовком (конвертом) - доставляется по указанному адресу, который определяет местонахождение машины и имя адресата, и помещается в файл, называемый почтовым ящиком адресата, с тем, чтобы адресат мог его достать и прочесть в удобное время.