Принципы функционирования сетей Интернет

Курсовая
Контрольная
Типовики
Карта

Динамические Web-страницы

Динамический язык DHTML

Динамический HTML (Dynamic HTML, или DHTML) - это развитие традиционного языка HTML, позволяющее создавать интерактивные, "живые" HTML-документы. Стремлению сделать Web-страницу динамичной и интерактивной, то есть легко изменяющейся, управляемой пользователем, столько же лет, сколько и самому WWW.

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

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

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

Серверная и локальная обработка данных

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

Для серверой обработки применяются такие языки, как Perl, CGI, PHP, Ruby, Python. На выходе они генерируют HTML-документ, передаваемый клиенту. Для локальной обработки чаще всего применяется язык JavaScript. Он также на выходе создает HTML-документ.

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

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

Под Web-приложением (так же называемом applet) подразумевается программа в виде загрузочного модуля, выполняемая либо под управлением браузера (клиентское Web-приложение), либо под управлением Web-сервера (серверное Web-приложение). Это не простой exe-файл, а некоторый промежуточный "полускомпилированный" код.

Активность в Web

Под Web-активностью понимают возможность организации интерактивного взаимодействия с пользователем. Следует различать понятия динамики и активности. Динамика позволяет "оживить" представление информации - и не более того. Это достигается за счет использования средств динамического HTML и внедрения в Web-страницу таких объекты, как анимированные изображения, видеоклипы, Flash-мультфильмы и т.п. Такие объекты значительно повышают наглядность подаваемой информации и делают сайт более привлекательным для пользователя - но они не имеют средств (или арсенал таких средств крайне беден) поддержки диалога с пользователем.

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

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

Взаимодействие с активными и пассивными Web-серверами

Рассмотрим типичные схемы взаимодествия пользователя с Web-сервером - и начнем с рассмотрения работы с пассивным Web-сервером (Рис. 9.1).

Рис. 9.1. Сеанс взаимодействия с пассивным Web-сервером.

Этапы:

1. Пользователь передает браузеру адрес URL необходимой ему Web-страницы.

2. Браузер обращается к серверу за нужной страницей.

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

4. В процессе интерпретации страницы браузер запрашивает объекты, ссылки на которые та содержит (рисунки, аудиофайлы, видеоклипы и т.п.)

5. Запрошенные объекты передаются с сервера и отображаются браузером пользователя.

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

Если пользователь взаимодействует с активным Web-сервером, схема выглядит, как показано на Рис. 9.2.

Рис. 9.2. Сеанс взаимодействия с активным Web-сервером.

Действия, выполняемые на этапах 1..5 аналогичны приведенным в ранее рассмотренной схеме. Далее добавляются новые этапы:

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

7. Введенные данные пересылаются браузером серверу.

8. На стороне сервера исполняется серверный сценарий либо серверное приложение.

9. Результат работы приложения/сценария в виде HTML-страницы пересылается браузеру.

10. HTML-страница отображается на экране пользователя.

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

На главную