Динамические веб-документы
В первые годы существования Всемирной паутины все ее содержимое и в самом деле было статическим (просто файлы). Однако в дальнейшем в Сети стали появляется все больше динамических объектов, то есть таких, которые создаются по требованию, а не хранятся постоянно на диске. Автоматическое создание объектов может происходить как на стороне сервера, так и на стороне клиента. Рассмотрим оба случая по порядку.
Динамическая генерация содержимого веб-страниц на стороне сервера
Рассмотрим использование форм, описанных ранее. Когда пользователь заполняет поля формы и нажимает кнопку Подтверждения, серверу отправляется сообщение, содержащее в себе данные, предоставленные пользователем. Это сообщение не содержит имя запрашиваемого файла. Требуется, чтобы оно было передано для обработки программе или скрипту. Обычно обработка подразумевает использование пользовательских данных для поиска по базе данных на серверном диске и создание HTML-страницы, содержимое которой зависит от результатов этого поиска. Затем страница отсылается клиенту.
Традиционный способ работы с формами и другими видами интерактивных веб-страниц связан с использованием системы CGI (Common Gateway Interface – общий шлюзовой интерфейс). Это стандартизованный интерфейс, позволяющий веб-серверам общаться с прикладными программами и скриптами, разрешающими вводить данные (например, в формы) и в ответ генерировать HTML-страницы. Обычно такие прикладные программы представляют собой программы (скрипты), написанные на языке описания сценариев.
Один из методов генерации динамических HTML называется PHP. Он использует язык написания скриптов Perl. Иногда вместо Perl используется другой язык – Python.
Другой метод генерации динамических HTML – JSP (JavaServer Pages – страницы сервера Java). Он в целом схож с РНР и отличается только тем, что динамическая часть программируется на языке Java. Файлы страниц, написанных с помощью JSP, имеют одноименное расширение: .jsp.
Еще один метод создания динамических страниц – ASP (Active Server Pages – активные серверные страницы). Это ответ Microsoft на РНР и JSP. В качестве языка динамического веб-программирования используется собственный язык написания скриптов, созданный Microsoft, — Visual Basic Script. Соответственно, файлы страниц, написанных с использованием этого метода, имеют расширение .asp.
С точки зрения технологий все эти методы вполне сравнимы по возможностям. Весь набор методов создания динамических страниц иногда называют динамическим HTML (DHTML).
Создание динамических веб-страниц на стороне клиента
Скрипты CGI, PHP, JSP и ASP решают вопросы обработки форм и взаимодействия с базами данных, расположенными на сервере. Они могут принимать входящую информацию из форм, осуществлять поиск по одной или нескольким базам данных и в качестве результата генерировать HTML-страницы. Но ни один из этих методов не позволяет напрямую взаимодействовать с пользователем, например, реагировать на движения мышкой. Для этих целей необходимы скрипты внедренные в HTML-страницы и выполняющиеся не на серверной, а на клиентской машине. Начиная с HTML 4.0, появилась возможность включать скрипты такого типа с помощью тега <script>. Наиболее популярные языки написания сценариев для клиентской стороны – это JavaScript и VBScript.
JavaScript и VBScript – это не единственные инструмент для создания веб-страниц с высокой степенью интерактивности. Еще один метод связан с использованием апплетов. Это небольшие программы на Java, скомпилированные в машинные инструкции виртуального компьютера, называемого JVM (Java Virtual Machine – виртуальная машина Java).