Что такое движок сайта и как он работает
Изначально Интернет был организован как хранилище готовой справочной информации: каждая страничка в нем версталась отдельно, без особых оформительских изысков. Гораздо более полезными были тогда, собственно, информация и ссылки на другие ресурсы. И все это работало исключительно быстро – как раз для скорости модемов прошлого.
С тех пор Интернет стал интерактивным, и еще не очень ясно – потеряли мы что-то важное в этой идеологии или нашли. К примеру, «древний» новостной сайт строился так: новости публиковал сам вебмастер. При появлении новой информации было необходимо исправить страничку вручную и заменить ее на сайте. Неудобно? Еще бы. Теперь всей «динамикой» занимаются движки сайтов, или CMS – системы управления контентом. С точки зрения пользователя, движок представляет набор программ, размещаемых на сервере. Каждый сервер имеет собственный набор инструментария: какой-то из них работает под управлением Apache, какой-то – под Windows; есть различия и в версия веб-серверов, которые нужно учитывать, а также в предоставляемом объеме места на диске сервера, степени нагрузки процессора. Когда пользователь набирает адрес сайта, движок сайта перехватывает управление и начинает работать как интерактивная программа (словно Бейсик в компьютере), ожидая от пользователя конкретного действия. При каждом передвижении по сайту пользователем, движок совершает целый ряд действий: определяет набор отображаемых данных, достает из базы данных текст, графику, музыку, а также каркас (шаблон) конкретной странички. Все это преобразуется в кэше в HTML – статическую страничку, которая и пересылается в браузер. Если рассмотреть ее в коде, то мы не увидим там признаков работы движка, как не видим в распечатке документа признаков программы-редактора. Теряя несколько секунд на формирование страницы, мы получаем взамен огромную гибкость в представлении сайта. В примере с теми же новостями: на сайте может работать невидимый пользователю модуль, которые собирает новости с других сайтов и записывает их в базу данных. При обновлении страницы движок автоматически обновляет на экране новую порцию информации, и при этом вебмастеру не остается никакой ручной работы. CMS имеет и другие возможности. Например, запомнить личность пользователя и изменять интерфейс сайта только для него, индивидуально. Или вести статистику действий посетителей, давая возможность комментирования или переписки между собой.
Так как CMS является программой сложной, то она обычно ориентируется на создание определенных сайтов: форумов, чатов, блогов, файлообменников, магазинов, порталов. Бывают и универсальные движки, на которых можно построить сайт любого направления. Несмотря на огромное число платных и бесплатных CMS, подавляющее их количество является заказными, то есть частными проектами.