Оглавление Введение 1
Цели, задачи и особенности этой книги 2
Для кого предназначена книга 3
Чему научит книга 4
Краткий экскурс по главам и приложениям 5
Обзор компакт-диска 7
Благодарности 7
Глава 1. Механизмы функционирования динамических сайтов 9
Описание протокола HTTP 9
Этапы HTTP-транзакции 12
Формат HTTP-сообщений 13
Заголовки HTTP-сообщений 19
Некоторые полезные расширения протокола HTTP 31
Динамические технологии стороны сервера — интерактивность без компромиссов 34
Устройство динамического сайта 37
Глава 2. Знакомство с веб-сервером 41
Установка и запуск Apache 42
Компоненты веб-сервера Apache 48
Конфигурация сервера 49
Синтаксис директив конфигурации сервера 51
Знакомство с файлом httpd.conf 51
Типовые задачи и их решение 58
Настроенный сервер 67
Глава 3. Использование включений на стороне сервера SSI 71
Сущность включений на стороне сервера 71
Синтаксис директив SSI 72
Вставка содержимого одного документа в другой — типичное использование SSI 72
Исполнение CGI-скриптов, программ и системных команд 75
Вывод размера и времени модификации файла 77
Переменные окружения 79
Пользовательские переменные 81
Обработка условий 81
Практический пример — автоматизация статического сайта при помощи SSI 87
Глава 4. Создание динамических веб-приложений с использованием общего шлюзового интерфейса CGI и языка программирования Perl 103
Возможности и особенности CGI 103
Язык Perl — основное средство разработки CGI-скриптов 105
Простейший скрипт на Perl 106
Запуск CGI-скриптов в среде UNIX 107
Знакомство с Perl 110
Типы и структуры данных в Perl. Переменные, массивы и хэши 111
Операции и выражения 113
Конструкции языка Perl 117
Возможности Perl по обработке строк, массивов и хэшей 119
Обработка строк 119
Обработка массивов 120
Обработка хэшей 123
Работа с файлами 124
Получение служебной информации о файле 124
Открытие и закрытие потоков 124
Построчные чтение и запись 125
Блокировка файлов 125
Регулярные выражения в Perl 126
Практический пример — счетчик посещаемости 129
Практический пример — форматированный вывод переменных окружения 132
Практический пример — использование cookies 134
Глава 5. Обработка данных веб-форм при помощи CGI 139
Веб-формы как средство обратной связи с пользователем 140
GET или POST? Сравнительный анализ методов передачи данных 142
Получение данных, переданных пользователем через веб-форму 145
Разбор строки запроса в кодировке URL, декодирование имен и значений параметров 146
Библиотека подпрограмм для работы с CGI-скриптами 147
Практический пример — гостевая книга или лента комментариев 151
Практический пример — информационно-поисковая система 158
Практический пример — система голосования 164
Глава 6. Реляционные базы данных 175
Назначение баз данных и систем управления базами данных, их разновидности 176
Основные сведения о модели "сущность — связь" 176
Классификация СУБД 178
Основы проектирования реляционных баз данных 187
Нормализация реляционных баз данных 188
Практическое проектирование инфологических моделей реляционных баз данных 192
Переход к даталогической модели 201
Особенности и установка MySQL 205
Краткая характеристика MySQL 205
Установка MySQL 206
Запуск сервера баз данных MySQL 208
Запуск консольного клиента MySQL 210
Управление базами данных при помощи языка SQL 211
История, стандарты и назначение языка SQL 212
Просмотр, создание и удаление баз данных 213
Управление кодировками баз данных 216
Создание, просмотр и удаление таблиц в базах данных 221
Вывод описания таблицы 238
Добавление записей в таблицу 238
Выборка данных из таблиц 242
Удаление записей из таблиц 250
Модификация записей в таблицах 251
Вставка записей в таблицы многотабличных баз данных с использованием вложенных запросов 253
Выборка данных из нескольких таблиц 255
Транзакции и блокировка таблиц 257
Использование сложных выражений в составе SQL-запросов 260
Импорт данных в таблицы и экспорт данных из таблиц 262
Преобразование таблиц 267
Практический пример — база данных "Библиотека" 269
Глава 7. Использование СУБД MySQL в веб-приложениях 281
Связь CGI-скриптов с базами данных 281
Установка Perl с модулями DBI и DBD::mysql 282
Использование интерфейса DBI 284
Практический пример — система публикации новостей для сайта 287
Состав проектируемого веб-приложения 288
Изменения в коде страниц, шаблонов и листов стилей исходного сайта 289
Главная страница панели управления и файлы управления доступом 292
Настройка параметров подключения к базе данных 294
Подготовка приложения к работе 297
Скрипт перестройки таблицы 302
Скрипт добавления данных 303
Скрипт просмотра новостей 310
Скрипт выбора новостей для редактирования и удаления 316
Скрипт редактирования новостей 320
Скрипт удаления новостей 327
Вместо заключения 329
ПРИЛОЖЕНИЯ 331
Приложение 1
. Коды статуса, предусмотренные спецификацией протокола HTTP 1.1 333
Приложение 2. Переменные окружения CGI и SSI 339
Приложение 3. Описание компакт-диска 342
Предметный указатель 345
VI Оглавление V Оглавление