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

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

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

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

Различают два класса программ, предназначенных для создания динамического содержания веб-страниц:

  • программы, работающие на стороне клиента (то есть на том компьютере, где запущен веб-браузер, воспроизводящий страницу на экране);
  • программы, работающие на стороне сервера.

В том случае, когда программа работает на стороне клиента, код страницы передается веб-сервером веб-браузеру как обычный статический объект, а затем браузер выполняет этот код, с его помощью создает динамическое содержание страницы и выводит ее на экран. Примером может служить код, написанный на языке ActionScript, который иногда используется для программирования интерактивной анимации в играх. Однако для этого требуется еще один механизм, поддерживаемый современными браузерами, — механизм надстроек (add-on). Механизм надстроек является программным интерфейсом между браузером и внешними программами, которые расширяют функциональные возможности браузеров. Программа-надстройка обрабатывает объекты веб-страницы определенного типа, в данном случае — код ActionScript. Программой-надстройкой, которая понимает ActionScript, является Flash-плейер компании Adobe. Если Flash-плейер загружен в браузер, то динамическая веб-страница, в которой есть код ActionScript, будет правильно работать и воспроизводить интерактивную анимацию. Другим популярным языком программирования страниц на стороне клиента является JavaScript.

При программировании содержания страницы на стороне сервера процесс выглядит немного сложнее, так как программный код страницы создает содержание на сервере, следовательно, здесь нужен дополнительный этап — передача этого содержания по протоколу HTTP на клиентскую машину браузеру. Популярными языками сценариев для серверной части являются Perl, ASP, JSP и PHP. Существует также стандартный программный интерфейс между веб-сервером и программами, генерирующими динамическое содержание, — это общий шлюзовой интерфейс (Common Gateway Interface, CGI).