Фактически, наряду с нашим триумвиратом, состоящим из РНР, MySQL и JavaScript, в динамической веб-технологии фигурирует еще один герой — веб-сервер.
В нашем курсе предполагается, что это веб-сервер Apache.
Мы уже немного касались того, что делает веб-сервер в процессе обмена информацией между клиентом и сервером по протоколу HTTP, но на самом деле негласно он выполняет куда более масштабную работу.
Например, Apache обслуживает не только HTML-файлы — он работает с широким спектром файлов, начиная с файлов изображений и Flash-роликов и заканчивая аудиофайлами формата МРЗ, файлами RSS-потоков (Really Simple Syndication —простое распространение по подписке) и т. д. Для подобной работы каждый элемент, найденный на HTML-странице веб-клиентом, также запрашивается у сервера, который затем и осуществляет обслуживание.
Но эти объекты не должны быть статическими файлами, такими как изображения GIF-формата. Все они могут быть сгенерированы программами, такими как сценарии РНР. И это действительно возможно: РНР способен даже создавать для вас изображения и другие файлы либо «на лету», либо заранее, в расчете на последующее обслуживание. Для этого обычно имеются модули, либо предварительно скомпилированные в Apache или РНР, либо вызываемые во время выполнения программы. Одним из таких модулей является библиотека GD (сокращение от Graphics Draw — рисование графики), которую РНР использует для создания и обработки графических элементов.
Apache поддерживает также обширный арсенал собственных модулей. В дополнение к модулям РНР наиболее важными для вас как для веб-программиста будут модули, занимающиеся обеспечением безопасности. В качестве других примеров могут послужить модуль Rewrite, позволяющий веб-серверу обрабатывать широкий диапазон типов URL-адресов и перезаписывать их в соответствии с его внутренними требованиями, и модуль Proxy, который можно использовать для обслуживания часто запрашиваемых страниц из кэша, для того чтобы снизить нагрузку на сервер.
Далее в этом курсе будет показано практическое применение этих модулей для улучшения свойств, предоставляемых тремя основными технологиями.
Использование JavaScript | Несколько слов о программах с открытым исходным кодом |