РЕЦЕНЗИИ
Иван Савватеев
Ли Дж., Уэр Б. Использование Linux, Apache, MySQL и PHP для разработки Web-приложений. М.: Вильямс, 2004. - 432 с.
Собственный сайт является практически обязательным атрибутом для любой сколько-нибудь серьезной компании, однако создать что-то приличное средствами одного HTML попросту невозможно: посетителей наверняка интересует не только название, юридический адрес и телефон фирмы, но и, например, наличие нужного ему товара на складе именно в настоящий момент, возможность зарезервировать его для себя или вообще заказать доставку на дом и т. п. Конечно, можно найти достаточно хороший и недорогой виртуальный веб-хостинг, чтобы на его базе построить сайт, решающий все эти задачи, но и в этом случае не обойтись без знания некоторых серверных технологий и языков программирования, скажем, Perl или PHP. Однако в тех случаях, когда производительность и особенно надежность являются факторами критически важными, наилучший выход - создание собственного веб-сервера. Помочь в этом сложном, но интересном деле призвана рецензируемая книга, состоящая из четырех частей.
В первой авторы рассматривают основные вопросы, помогающие понять работу веб-сервера. Первая глава этой части посвящена принципам функционирования Всемирной паутины, следующие четыре - программным средствам, наиболее часто используемым для организации веб-серверов: Linux, Apache, MySQL и Perl. Здесь же обсуждаются возможности этих средств, а также их установка и настройка для дальнейшего использования.
Вторая часть, состоящая из единственной главы, повествует о языке WML, предназначенном для управления статическими веб-страницами. Этот язык полезен в тех случаях, когда динамические страницы (т. е. создаваемые в реальном времени) не нужны, но в то же время приходится регулярно обновлять большое количество сложных статических страниц по определенным правилам.
В третьей части (две главы), темой которой являются динамические веб-страницы, речь идет о CGI и модуле mod_perl. Интерфейс CGI представляет собой стандарт для связи между клиентом (веб-браузером) и приложением, которое выполняется на стороне сервера и генерирует HTML-код, передаваемый для отображения браузеру. В принципе, CGI-приложение может быть создано на любом языке, хотя авторы во всех примерах используют Perl. Интегрируемый с веб-сервером Apache модуль Mod_perl обеспечивает выполнение Perl-программ, также генерирующих HTML-код, но во многих случаях работает эффективнее "простого" Perl’а за счет тесной связи с сервером.
В последней части (четыре главы) рассматриваются способы встраивания исполняемого кода непосредственно в HTML-страницы. Сначала описывается механизм SSI, обладающий весьма ограниченными возможностями, но легкий в освоении и использовании. Далее авторы говорят об Embperl и Mason - "встраиваемых" вариантах Perl. Последняя глава посвящена языку PHP и его внедрению в HTML-страницы.
Книга рассчитана на людей, имеющих определенное понятие о Unix-подобных системах, владеющих каким-либо языком программирования и знающих HTML. Ее немаловажным достоинством является широта охваченного материала при сравнительно небольшом объеме, благодаря чему читатель может получить весьма разностороннее, хотя и довольно поверхностное представление об имеющихся в его распоряжении возможностях и наметить для себя наиболее приоритетные направления для более глубокого освоения.
Очевидный недостаток издания состоит в том, что все темы освещены кратко и неполно, однако он прямо вытекает из главного назначения книги - знакомства с основами нескольких распространенных веб-технологий.
Более важным для отечественного читателя может оказаться другой недостаток: явный акцент авторов на язык Perl, широко распространенный в США, но почти не используемый в России, где, как известно, фактическим стандартом в создании динамических веб-страниц стал PHP (недаром в русском названии опущено слово "Perl", имеющееся в оригинале).
В общем и целом можно сказать, что данная книга послужит неплохим введением в работу над веб-сервером на основе ПО с открытым исходным кодом и поможет читателю подготовиться к осмысленному выбору литературы для более глубокого изучения самых важных для него тем.