Программирование
Однажды я описывал клиенту работу над сайтом и упомянул программирование, на что клиент удивленно заметил: «А что там программировать»? Эта часть книги является детальным ответом на его вопрос.
Нельзя назвать программированием разметку на языке HTML и оформление страниц с помощью CSS. Чаще всего небольшие сценарии на языке JavaScript тоже язык не поворачивается назвать программированием. Поэтому посетитель, открыв HTML-код страницы в блокноте, вправе задаться вопросом, что же тут такого сложного.
Основная работа происходит вне поля зрения посетителей. Серверу посылаются правильные заголовки и большие массивы данных, на сервере происходит анализ URL-адресов и сценариев их преобразования, в зависимости от среды, с помощью которой происходит просмотр сайта, в зависимости от времени суток и множества других условий формируется страница (из одного, двух, трех или нескольких десятков файлов) и отправляется в браузер пользователю. Пользователь видит страницу, оформленную в узнаваемом стиле этого сайта, с внятной навигацией, с понятным адресом, с грамотно рубрицированным содержимым, читает ее и даже не догадывается, какая работа была проведена по подготовке автоматической генерации кода. Он также не догадывается, что основной файл страницы domain. ru/food/ice-cream/morozko лежит на сервере не по адресу domain. ru/food/ice-cream/morozko/index. html, а по адресу domain. ru/files/foods/icecream/sorted/morozko. php, но один из сценариев приводит этот адрес в более удобную для чтения форму. Не догадывается, что в данный момент система сбора статистики опросила его браузер, подсчитала время, проведенное на странице, и внесла примерно 14 записей в статистическую базу данных. Не подозревает, что, благодаря тому, что зашел на одну страницу трижды, она поднялась во внутреннем рейтинге сайта, и особая ссылка на нее появилась на главной странице сайта. Вряд ли он думает, зайдя по «битой» ссылке на несуществующую страницу, он тем самым отправил разработчику сайта письмо следующего содержания: «Системное сообщение номер 22. По ссылке со страницы domain. ru/food/ice-cream/ посетитель попытался зайти на несуществующую страницу domain. ru/food/ice-cream/lafemme/. Очевидно, битая ссылка. Данные о пользователе: браузер Firefox 2.0, операционная система Linux, разрешение экрана 1024 на 768. Время визита: 17 июня 2007 г., 18:33».
Все эти скрытые действия направлены на то, чтобы работа сайта была корректной и бесперебойной. Чтобы владельцы сайта знали, что сайт оправдывает себя и, если и не приносит прямой коммерческой выгоды, но доставляет посетителям нужную информацию. Все эти скрытые действия необходимо запрограммировать.