При таких условиях привычным состоянием веб-серверов была маленькая загрузка – общая пропускная способность интернет-каналов не позволяла даже частично выбрать ресурс процессора. Клиентский браузер постепенно был научен исполнению java-апплетов и простейших скриптов, однако попытки устройства чего-то более-менее сложного и интерактивного на этой основе были практически невозможны, важно было хотя бы позволить пользователю адекватно видеть ту информацию, что его заинтересовала, не дожидаясь по часу полной загрузки страницы.
Как видно, естественным развитием ситуации стало перенесение части задач на сервер (пользователь всё равно не мог выработать его ресурс), увеличение их сложности, что стало хорошим способом привлечения посетителя. Так или примерно так закончилась в Интернете эпоха "плоского хатемееля". Если раньше версткой страниц любого сайта занимался специалист широкого профиля, так называемый "вебмастер" (компьютерн., ругательн. – прим. авт.), то с развитием активных серверных технологий основным способом жизнедеятельности любого, даже небольшого сайта стал автоматический публикатор, или попросту "движок". Теперь программисты предоставляли возможность публиковать материалы любому, кто мало-мальски знаком с компьютером и Интернетом, занимаясь исключительно наработками по функциональности сайта – его навигации и дополнительных сервисов, таких как поиск по большим объемам архива, форумы, голосовалки и рассылки новостей.
Наиболее простым способом решения подобных задач являлся запуск на веб-сервере специальной программы, устроенной так: то, что вы видите в окне браузера, каждый раз "собирается" из записей баз данных, обрабатываемых и выводимых при помощи специальных алгоритмов, чтобы потом быть отправленным запросившему документ пользователю. Неэкономичность такого способа организации сайта очевидна, поскольку, как видно, на один обработанный и готовый к просмотру документ приходится всего один пользователь. Как правило, причина того, что даже незначительное число посетителей, одновременно находящихся на данном сайте, способно "завалить" весь сервер, заключается в использовании разработчиками "тяжеловесных" программ.
Подобная внутренняя "архитектура" может использоваться либо на примитивных, слабопосещаемых сайтах, либо в узкоспециальных случаях, например, при построении сервиса контекстного поиска. Однако замечу, знающий специалист понимает, что такие задачи невозможно решить стандартными методами. Причина того, что тот или иной неэкономичный способ устройства местами продолжает процветать, заключается прежде всего в психологии многих программистов, привыкших к своим EJB, ASP, CGI и остальной массе непонятных простому человеку английских аббревиатур. Нужно же, в конце концов, чем-то оправдывать собственную зарплату.
Так, начиная с определенного момента, эмоциональные высказывания разных "гуру Интернета" начинают продвигать реально устаревшую технологию. Невероятное удовольствие – выслушивать от иного, вполне вменяемого и знающего человека, что "джава – это красиво, ты понимаешь?". Имена известных корпораций-разработчиков и "форева" разных там программистов, несомненно, делают свое дело: большинство известных компаний, разрабатывающих интернет-решения, до сих пор держат "специалиста по асепе" – просто так, на случай, если спросят заказчики. Ведь это неприлично, если мы не сможем ответить "да"!
Моментом, с которого следует вести отсчет клинической смерти "активных" серверных технологий в Рунете, был конец лета 2000-го. Известия о трагедии АПЛ "Курск", а потом о пожаре на Останкинской башне вызвали в нашем сегменте Сети такой всплеск активности посетителей, какого не наблюдалось до тех пор никогда. Впервые разработчики оказались поставленными перед фактом, что рост аудитории опередил развитие мощностей обслуживающих сайты серверов. Однако, напомню, технологии, способные поддерживать жизнедеятельность веб-сервера даже в таких условиях, существовали уже давно. Тот самый, древний, обычный, "плоский хатемеель".
Куда уж проще: страницы сайта не нужно обрабатывать, чтобы отправить пользователю, такой процесс не занимает время и память, освобождая ресурсы для связи с конечным пользователем. И первыми в применении этой "беспрецедентной" технологии преуспели электронные СМИ – как вынужденные работать с заведомо большим количеством посетителей и объемом постоянно используемой информации.
В электронных газетах расчетная средняя нагрузка на один сервер может достигать 4000 соединений в минуту и нескольких сот тысяч обращений к одному физическому документу. В таких условиях публикация материалов (как правило, с использованием специально, "на коленке" разработанных, а не "лицензионных" технологий) заключается в однократной "сборке" страниц сайта на специально выделенном сервере, которые потом копируются на основной. Фактически так же поступает любой пользователь компьютера, когда что-нибудь пишет или рисует. Логично: один раз пишешь текст или рисуешь картинку, сохраняешь на диске – и потом сколько угодно просматриваешь; никому даже в голову не приходит каждый раз писать один и тот же текст или заново рисовать картинку. То, что понимает каждый, не так уж быстро "дошло" до великих и ужасных веб-программистов.
Но при этом важно не утерять все преимущества "активных" технологий – единая программа с собственным внутренним языком остается гибкой конструкцией, позволяющей легко менять структуру сайта, не меняя собственно программный код, а специальная "техническая" часть сайта предоставляет журналистам и редакторам возможность публиковать материалы быстро, просто и независимо от загрузки сервера. Такие технологии были названы "пассивными", или использующими прегенерацию конечных документов.
Таким образом, общие тенденции и направления развития современных сетевых технологий в самом начале XXI века, названного веком цифровых технологий, повернули совсем в другом направлении, чем это виделось в конце прошлого. Каким будет продолжение этого движения, какие технологические новшества ждут нас в ближайшем будущем, сейчас сказать невозможно. Да это и не важно. Важно, что происходящее будет всегда направлено на то, чтобы любой пользователь получал всё, что его интересует, и не тогда, когда свободен сервер, а тогда, когда он этого захочет.
И если вы увидели, что на каком-либо сервере никак не проявятся картинки, или вообще высветилась надпись "Сервер недоступен" – бегите с этого сайта, вам тут просто нечего делать.