Введение
Прикладное программирование для Web начиналось с обработки
запросов пользователя, передаваемых через формы и
динамической генерации страниц на стороне сервера.
По этому же принципу работают языки программирования вставок (SSI) в HTML документы.
Дальнейшее развитие привело к созданию языков программирования элементов HTML документов на стороне клиента (например, Java Script).
Применяемые методы программирования используют модель документа, даваемую языком разметки HTML. Возникновение спецификаций XML (eXtensible Markup Language), разметки WEB документов, приводит к желанию использовать при создании документов элементами XML.
Стандарт документа, связанный с XML, получил название Document Object Model - DOM. В настоящий момент мы наблюдаем частичный откат к языку SGML, породившего в свое время HTML.
Язык XML (eXtensible Markup Language) - стек спецификаций языков разметки различного назначения базируются на общих синтаксических правилах, идущих от языка SGML. Одна из идей, связанная с XML, основана на стремлении разработчиков WEB документов унифицировать форму хранения документов для различных носителей информации и необходимость развития и унификации формата хранения метаданных, и связана с преобразованием документов в процессе их отображения и просмотра.
Динамические документы
Другим способом расширения статической структуры WEB документов является использование
"языков сценариев" - JavaScript и включение в HTML документ программ-аплетов на языке программирования Java, которые позволяют
размещать внутри документа и видоизменять информацию любого вида.
Технология Java является одним из самых модных средств разработки приложений Web, а использование сценариев направление оформилось в концепцию DHTML (Dynamic HTML).
Концепция DOM - Document Object Model - основана на возможностях программы произвольным образом менять свойства и функции объектов, составляющих документ (например, атрибуты команд BODY или IMG). Таким образом, DOM задает интерфейс прикладного программирования в рамках модели документов Web.
Язык HTML описывает (размечает) документ состоит набором стандартных элементов разметки, которые отображаются определенным образом. Набор элементов HTML - это типизация компонентов обычного печатного документа: заглавия, списки различных типов, параграфы, таблицы, цитирование и т.п. При этом все элементы разделены на два типа: строковые и блочные. К первым можно отнести параграф, список, таблицу. К строковым элементам - выделение курсивом или насыщенностью, текст гипертекстовых ссылок. Основные команды описаны Document Type Definition спецификации HTML на языке SGML.
Первое отклонение от "стандарта", было вызвано необходимостью повторения фрагментов текста на каждой странице, например, стандартные заголовок (header) или окончание (footer) документа, что привело к созданию технологии Server Site Includes (SSI), основанной на понятии макроопределений в языках программирования.
Примеры: 1. Вставка внешнего файла в HTML-страницу - это самый простой способ применения SSI:
<html><head> ... </head><body> ... <!--#include virtual="file.inc"--> ... <!--#include file="file.php"--> ... </body></html>
<html><head> ... </head><body> ... <!--#exec cmd="program"-> ... <!--#exec cgi="prog.cgi"-> ... </body></html>
Порядок обработки запроса от браузера на получение документа со вставками (Server Parsed Document) следующий:
См. описание технологии использования SSI.
Дальнейшее развитие технологии Server Parsed Document получило в создании встроенных в сервер препроцессоров гипертекста, таких как PHP под управлением сервера Apache и ASP, реализованного в MS IIS.
Дальнейшее развитие технологии программирования составных документов сыграли
Основная идея CSS состоит в том, чтобы отделить логическую структуру документа от формы его представления (способа форматирования изображения на носителе). С появлением CSS в HTML стало возможным использование двух обобщенных элементов разметки: DIV (обобщенный блок) и SPAN (обобщенный строчный элемент разметки). Вы можете вначале составлять логическую структуру документов, а затем определять формат ее отображения.
Отдельной позицией в развитии технологии WEB программирования является использование - языка программирования Java и виртуальной Java-машины, встроенной в браузеры.
Возможности Java технологии используются прежде всего для преодоления негативных особенностей HTTP протокола (в основном для поддержки постоянных TCP-соединений). Следует отметить, что протокол HTTP/1.1 уже позволяет компоновать документ из различных частей, которые могут располагаться на разных серверах для поддержки составных документов.
Логическая модель документа определяет отношения объектов между собой. Существует, по крайней мере, две модели объектов документа: модель JavaScript и DOM. Первая поддерживается, с некоторыми оговорками, практически всеми наиболее популярными браузерами. Вторая только претендует на роль стандарта и должна в будущем поддерживаться всеми браузерами.
Отношения отдельных объектов между собой сводятся, главным образом, к отношениям типа "часть-целое", а структура документа представляет собой дерево. В роли остова выступает дерево блочных элементов разметки документа. Затем на этот остов накладываются строчные элементы и стили. Кроме того, у документа существует поддерево классов объектов документа. Изменение свойств класса приводит к изменению свойств всех объектов данного класса.
Следует отметить, что логическая модель гораздо ближе к модели данных MS IE, чем к JavaScript (NN). Тем не менее, MS IE поддерживает модель JavaScript за исключением слоев, а в новой версии Netscape Navigator обещана поддержка динамического HTML, которая совпадает с моделью MS IE и DOM.