Наверняка, каждый пользователь Интернета хоть раз сталкивался с ситуацией, когда на сайте появляется уведомление «Ваша сессия истекла». Звучит весьма странно и непонятно. Кто, куда и зачем истек – совсем не ясно.
На самом деле, сессии – это просто, понятно и доступно для каждого, даже для тех, кто далек от понимания работы Интернет-ресурсов. Достаточно просто принять особенности их назначения и принцип устройства.
Обо всем по порядку. Начнем с поиска ответа на главный вопрос: «Что такое сессия, и зачем она нужна?»
Немного о главном
Сессия (от латинского sessio, от английского session – заседание) – это временной промежуток, охватывающий период использования Интернет-ресурса с момента, когда пользователь кликнул и перешел по начальному URL (ссылке) и до самого закрытия последней.
Рассчитывать длительность сессии принято вычислением временной разницы между первым и последним запросом.
Более детально разобраться в понятии можно с помощью HTTP (HyperText TransferProtocol – протокол передачи гипертекста). Сессия здесь выступает в качестве вспомогательного логического объекта, который способствует осуществлению качественной передаче данных между последовательными HTTP-запросами конкретного пользователя.
Пример для понимания
- 1. Запускаем браузер.
- 2. Открываем привычный сайт с авторизацией пользователя и пытаемся зайти сразу на двух аккаунтах.
Ничего, конечно же, не вышло. Нужно выбрать какой-либо один аккаунт. - 3. Запускаем второй браузер.
- 4. Авторизуемся на том же сайте с другого аккаунта, оставив вкладку и авторизацию в предыдущем браузере.
Вуаля, авторизация пройдена. Почему? Потому что сервер создал абсолютно разные, параллельные сессии для браузеров по отдельности.
Наиболее распространенные сценарии использования сессии
Рассматривая сессию, с точки зрения свершившегося события, в работе сервисов web-аналитики, ее использование осуществляется для фиксации и анализа пользовательского поведения. Для этого во внимание берутся следующие критерии:
- просмотр страницы;
- длительность посещения страницы (сеанса);
- перечень совершаемых пользователем действий;
- показатель вовлеченности.
На сегодняшний день сессии активно применяются в различных областях. Так, среди актуальных сценариев использования сессии принято выделять:
- обработка введенных пользователем данных с последующем удалением конфиденциальной информации;
- анализ трафика Интернет-ресурса;
- проведение тестов сервера или сайта.
Предлагаем рассмотреть вопрос использования сессии на сайтах и в процессе web-аналитики, где сессия выступает исключительно в качестве инструмента, позволяющего определить последовательность запросов конкретного пользователя.
Этапы сессии
Вне зависимости от объема передаваемой информации, а также длительности использования браузера, принято выделять несколько этапов реализации пользовательской сессии. Всего их три:
- открытие – момент открытия первой вкладки, начало работы с сайтом;
- учет переменных – хранение полученной информации в процессе перехода на различные страницы (данные авторизации, идентификатор и пр.);
- завершение – закрытие последней пользовательской ссылки и браузера в целом.
Особенности начала и окончания сессии
Создание и окончание сессии реализуется с помощью применения функции session_start() и session_destroy() соответственно.
Образование сессии реализуется в следующем порядке:
Шаг 1. Отправка запроса хосту.
Шаг 2. Присвоение уникального ID для начатой сессии (сохраняется на протяжение работы сессии).
Шаг 3. Реализация событий (бездействие пользователя на протяжении 30 минут и более, авторизация, обновление страницы, некорректность ID).
Шаг 4. Завершение сессии.
Хранение уникального ID сессии может осуществляться на протяжении достаточно длительного временного промежутка (день/неделя/месяц/год).
Сессия в системах аналитики
Определение сессии есть не только в браузере, но и в работе всех систем аналитики. Предлагаем рассмотреть это более детально на примере ярких, надежных и востребованных аналитических систем.
Сессия в «Яндекс.Метрика»
Среди особенностей работы сервиса «Яндекс.Метрика» стоит выделить взаимозаменяемость понятий «визит» и «сессия». Оба они трактуются, как последовательность действий посетителя на сайте, а именно, любая пользовательская активность (просмотр, обновление страницы и пр.).
Визит или сессия в «Яндекс.Метрике» считается оконченными при развитии двух сценариев:
- Истечение установленного временного промежутка в 30 минут (можно изменить в настройках «Тайм-аут визита»).
- Фиксирование рекламного перехода.
Особенности сессии в Google Analytics
Google Analytics определяет сессию, как веб-сеанс, трактующий временной промежуток, который пользователь провел в работе с сайтом или приложением.
Сеанс сессии в Google Analytics можно представить во вполне логичной последовательности действий:
- 1-й просмотр страницы;
- 2-й просмотр страницы;
- свершение события 1;
- свершение события 2;
- взаимодействие;
- транзакция (фиксация цепочки событий).
Завершение сессии по умолчанию реализуется в трех случаях:
Случай 1. Переход по рекламному объявлению со стороннего источника.
Случай 2. Отсутствие активности на протяжение 30 минут (временной период корректируется в настройках).
Случай 3. Полночь в часовом поясе пользователя.
Разбираемся в понятиях: «сессия» и «сеанс» – одно и тоже или есть какая-то разница?
Вопрос весьма актуальный и значимый для абсолютно любой аналитической системы, функционирующей в условиях Интернет-пространства.
На самом деле, каким бы абсурдным и непонятным это не казалось, сессия и сеанс не являются равнозначными понятиями.
Сеанс – понятие, соотносимое исключительно к взаимодействию пользователя с Интернет-ресурсом, который в целом образуется следующими составляющими:
- Переход на Интернет-ресурс.
- Открытие страницы.
- Свершение событий.
- Закрытие Интернет-ресурса.
Сессия – это скорее последовательность запросов, поступающих от одного и того же пользователя, каждый из которых идентифицируется сервером с помощью уникального ID.
Почему появляется уведомление «Ваша сессия истекла»?
«Сессия истекла», «Время Вашей сессии закончилось», «Ваша сессия истекла» – что все это значит и почему так случается?
Появление такого уведомления не является редкостью и может случаться при развитии различных сценариев, однако, каждый из них ведет к единому завершению – потеря данных на сайте (авторизация, cookies и пр.).
Основными причинами появления такого рода уведомления принято считать:
- Бездействие пользователя на странице (стандартно время окончания сессии – 24 минуты, но показатель может быть изменен).
- Закрытие браузера.
Подводя итоги
Вся перечисленная выше информация позволяет разобраться в особенностях появления, течения и даже закрытия сессии. Благодаря этому, можно сформировать четкое и понятное представление о том, что сессия – это не просто временной интервал, это последовательность запросов, совершаемых пользователем с момента перехода по ссылке.
Более того, существует вполне значимая разница между понятием «сессия» и «сеанс».
В целом, понятие «сессия» применимо именно к сайту, а формирование понимания о его широком значении позволяет отнести понятие к категории многозначных. Определение «сессия» наиболее востребовано при трактовке аналитических отчетов.
Познакомившись со значением понятия «сессия», рассматривая его, как событие, каждый желающий может существенно повысить эффективность изучения отчетов web-аналитики.
Мудрый совет напоследок: т.к. хранение данных сессии реализуется на стороннем сервере, лучше всего не хранить в них объемную и значимую информацию, а отдавать предпочтение более надежным cookies.