|
Тема технологии программирования для Интернета в настоящее время является одной из самых популярных и востребованных в среде читателей компьютерной литературы. И если книг по HTML и Java более чем достаточно, а в последнее время появились также хорошие издания, посвященные языку JavaScript, то книг, целиком посвященных CGI-программированию, практически нет. Читатель, возможно, возразит, что CGI-скрипты пишутся, в основном, на языке Perl, и книги, посвященные ему, не являются редкостью на полках книжных магазинов. Но они обычно описывают сам язык Perl, и лишь небольшая глава, чаще всего обзорного плана, вкратце рассказывает об особенностях CGI-программирования.
В издательстве «Питер» вышла очень полезная книга, которая так и называется «CGI-программирование: учебный курс». Написана она опытным CGI-программистом А. Павловым, который в доступной, легко читаемой форме делится с читателями своим богатым опытом программирования для Интернета.
Книга рассчитана на широкую аудиторию, но для ее освоения читатель должен иметь определенную подготовку. Он должен хорошо понимать принципы функционирования Интернета и иметь навыки программирования.
В первую очередь нужной и интересной книга будет для профессиональных программистов, которые хотят освоить CGI-программирование, а также для веб-мастеров, хорошо знающих Java и JavaScript. Книга будет полезной также веб-дизайнерам и системным администраторам веб-серверов.
Новичкам в программировании следует сначала обратиться к какой-либо другой книге по программированию на языке Perl, т. к. в данном издании содержится лишь очень краткое описание самого языка Perl, которое носит скорее справочный характер (что и понятно, поскольку описание Perl не являлось целью книги). Приводимые в книге CGI-скрипты (а их существует множество, и ценность их безусловна) подробно не комментируются.
Автор дает массу практических советов не только по написанию CGI-скриптов, но и по таким вопросам, как, например, конфигурирование сервера и повышение безопасности функционирования сайта.
Книга представляет собой учебный курс, состоящий из уроков, каждый из которых посвящен определенной теме. Автор условно делит книгу на 2 части. Первую часть (уроки 1-7) он рассматривает как введение в CGI-программирование, требующее от читателя последовательного изучения каждого урока. Вторую часть книги (уроки 8-19) автор представляет как собрание независимых тем. Ряд примеров, которые в первой части книги рассматриваются в упрощенном виде, во второй части усложняются, приобретая дополнительные функциональные возможности и становясь профессиональным программным продуктом для практического применения.
Для того чтобы вы составили себе более полное представление о содержании книги, перечислю вкратце темы уроков предлагаемого курса.
Первая часть книги знакомит читателя с тем, как происходит взаимодействие клиента и сервера, каковы этапы HTTP-соединения и какое место при этом занимает CGI-программа. Особо выделяется тема прав доступа и того, какую роль они играют в CGI.
Вкратце описывая Perl, автор призывает читателя учить этот язык «просто по man-документации, а также разбирая готовые примеры и, конечно, разрабатывая свои простенькие скрипты».
Интересен урок, посвященный переменным среды окружения CGI, формированию заголовков запросов и ответов при HTTP-соединении и генерации различных типов ответов.
В связи с тем, что одним из основных предназначений CGI является обработка данных форм, автор подробно рассматривает обработку CGI-скриптов и дает практические советы по эффективности данного процесса.
Поскольку отлаживать CGI-скрипты бывает не просто, автор на основе своего богатого опыта дает множество практических советов на эту тему и предлагает определенный инструментарий, облегчающий работу CGI-программиста в данном направлении.
В первой части книги приводится множество примеров упрощенных реализаций CGI-скриптов, например таких как протоколирование посещений сайта, гостевая книга, счетчик посещений, опрос посетителей сайта, создание анимации, организация баннерной службы.
Вторая часть содержит отдельные уроки по работе с электронной почтой в CGI-скриптах, по созданию чатов, по способам построения поисковых систем на сервере. Отдельный урок посвящен построению баз данных и работе с ними. Автор обсуждает вопросы целесообразности использования той или иной СУБД, дает их обзор, а также примеры CGI-скриптов по работе с базами данных с использованием СУБД.
Раскрываются также некоторые системные тонкости, например обеспечение многопользовательской работы с файлами, использование сокетов. Рассказывая о виртуальных путях, автор приводит примеры их использования при работе с большой базой документов и при смене кодировки. Затрагиваются также темы настроек сервера, касающихся CGI, структуры протоколов сервера и их использования в CGI-скриптах для подсчета статистики хостов и документов, анализа трафика и скорости работы сайта; автор также дает практические советы по оптимизации работы сайта.
Описывая дополнительные средства CGI-программирования, автор рассказывает о возможностях модуля CGI.pm, о ценности SSI и о написании CGI-скриптов на Shell и C.
Отдельный урок посвящен обеспечению безопасности работы веб-сайта, где рассматриваются возможные источники нарушения безопасности, которые могут возникнуть в CGI-скриптах, и методы их обнаружения.
В заключение хочется отметить, что ценность книги заключается в ее практической направленности. Автор предлагает массу готовых решений и призывает всех читателей окунуться в мир CGI-программирования, позволяющий создавать достойные восхищения веб-сайты.
|