Создаем динамические веб-сайты с помощью PHP, MySQL и JavaScript

Печать

Ранее было упомянуто, что изначально JavaScript разрабатывался для того, чтобы получить возможность динамического управления различными элементами, находящимися внутри HTML-документа, и это его предназначение по-прежнему является основным. Но все чаще JavaScript используется для реализации технологии Ajax. Это понятие используется для обозначения процессов доступа к веб-серверу в фоновом режиме. (Сначала оно означало «асинхронный JavaScript и XML» — Asynchronous JavaScript and XML, но сейчас это определение несколько устарело.)

Ajax является основным процессом, лежащим в основе технологии, известной как Web 2.0 (этот термин придумал Тим О'Рейли (Tim O'Reilly) — основатель и исполнительный директор издательства, в котором эта книга вышла на английском языке), при использовании которой веб-страницы стали напоминать автономные программы, поскольку их уже не нужно загружать целиком. Вместо этого в быстром вызове Ajax может быть задействован отдельный элемент веб-страницы, например может быть изменена ваша фотография на сайте социальной сети или заменена кнопка, на которой нужно щелкнуть, отвечая на вопрос. Полностью эта тема будет рассмотрена в главе 18.

Веб-сервер Apache

Фактически, наряду с нашим триумвиратом, состоящим из РНР, MySQL и JavaScript, в динамической веб-технологии фигурирует еще один герой — веб-сервер. В нашей книге предполагается, что это веб-сервер Apache. Мы уже немного касались того, что делает веб-сервер в процессе обмена информацией между клиентом и сервером по протоколу HTTP, но на самом деле негласно он выполняет куда более масштабную работу.

Например, Apache обслуживает не только HTML-файлы — он работает с широким спектром файлов, начиная с файлов изображений и Flash-роликов и заканчивая аудиофайлами формата МРЗ, файлами RSS-потоков (Really Simple Syndication —простое распространение по подписке) и т. д. Для подобной работы каждый элемент, найденный на HTML-странице веб-клиентом, также запрашивается у сервера, который затем и осуществляет обслуживание.

Но эти объекты не должны быть статическими файлами, такими как изображения GIF-формата. Все они могут быть сгенерированы программами, такими как сценарии РНР. И это действительно возможно:РНР способен даже создавать для вас изображения и другие файлы либо «на лету», либо заранее, в расчете на последующее обслуживание. Для этого обычно имеются модули, либо предварительно скомпилированные в Apache или РНР, либо вызываемые во время выполнения программы. Одним из таких модулей является библиотека GD (сокращение от Graphics Draw — рисование графики), которую РНР использует для создания и обработки графических элементов.

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