Сессия - процесс обращения пользователя (человека или робота) к ресурсу. Сессия может состоять из произвольного количества запросов страниц. При обработке сервером запросов в рамках одной сессии возникает необходимость сохранения части данных для повторного использования. При это нужно уникально идентифицировать сессию конкретного посетителя.
Механизм сессии позволяет реализовать авторизацию пользователя на сервере, обеспечить хранение настроек пользователя в рамках одной сессии.
Наверное, каждый из владельцев интернет-сайта хотел бы иметь высокую посещаемость, потому что размер аудитории сайта является ключевым параметром его успешности. Даже если ваш сайт блещет функциональностью, богатым содержимым, полезен, но о нем никто не знает и его мало кто посещает - сайт нельзя назвать успешным.
Мне при работе случилось сталкиваться с начинающими программистами, которые изучив основы синтаксиса языка PHP бросаются в бой - начинают разрабатывать сайты (хотя корректнее будет сказать - интернет-приложения). И у большинства из них (в особенности у тех, кто раньше разрабатывал desktop-приложения) присутствует одна и та же проблема - они не понимают основных принципов, на которых строиться не только интернет-приложение на php, но и любое интернет-приложение с динамически генерируемыми страницами.
При написании HTML-кода сайта приходится учитывать тот факт, что каждый из браузеров имеет свои особенности при обработке HTML, CSS, JavaScript. В особенности это касается Internet Explorer, который отличает своебразным трактованием стандартов и несколько экстравагантным подходом к обеспечению совместимости с другими браузерами. Существует несколько различных способов обойти ошибки IE - css-хаки, определение версии браузера в JavaScript-коде, но они имеют свои недостатки - css-хак может в любой момент перестать работать при обновлении или выходе следующей версии IE.
В жизни каждого веб-разработчика настает момент, когда он встречает в технических требованиях на разработку строки типа "сайт должен корректно и одинаково отображаться при просмотре через бразуеры Internte Explorer версия такая-то, Mozilla Firefox версия такая-то, Opera версия еще такая-то и т.д."
Часто при разработке сайта возникает необходимость сделать навигационное меню, привязанное только к одному из разделов сайта. CMS Drupal позволяет легко решить данную задачу при помощи стандартных модулей Menu, Path и управления настройками видимости блоков.
Иногда возникает ситуация, когда нужно продлить время жизни сессии на сайте.