Сессия на сайте — это временной интервал, в течение которого происходит взаимодействие пользователя с сайтом. Отсчет сессии стартует сразу после перехода на сайт.
Понять смысл сессии на сайте очень просто на следующем примере:
- Запустите любой браузер.
- Залогиньтесь в двух аккаунтах одновременно (например, в аккаунте Gmail). Но у вас не получится — сперва сайт предложит выйти из какого-то одного аккаунта.
- Откройте еще один браузер, не закрывая предыдущий. Попробуйте авторизоваться во втором Gmail-аккаунте.
- Теперь — получилось. Сервер создал уникальную сессию для каждого браузера отдельно и мы смогли авторизоваться в 2 аккаунтах одновременно.
Сценарии сессии на сайте
Сессия как событие в «Яндекс.Метрике» и Google Analytics используется для определения поведения посетителей сайта. С сессией непосредственно связаны следующие метрики:
- Просмотр страницы.
- Длительность сеанса.
- Действия за одну сессию.
- Вовлеченность трафика.
Кроме веб-аналитики, сессия как событие применима в следующих сценариях:
- Обработка данных с дальнейшим удалением идентификационных сведений пользователей.
- Анализ внутреннего трафика.
- Тестирование серверной инфраструктуры.
- Любые события, когда необходимо создать искусственную посещаемость, например — протестировать сервер или сайт.
Мы будем рассматривать сессию применительно к сайту и веб-аналитике. В этом контексте сессия используется для обозначения последовательности запросов, которые совершает пользователь.
Клиент и сервер. Как происходит идентификация запроса
Сессия как отдельное событие обозначает серию запросов, которые отправляются от клиента, когда он взаимодействует с каким-либо хостом / сервером. В качестве клиента может быть не только браузер, но и поисковый робот, веб-приложение и т. д. В роли хоста (или сервера) чаще всего выступает определенный сайт.
Под определение сессии могут попадать вообще все запросы, которые сделал клиент на протяжении заданного периода: час, день, неделя и более длительные.
Сервер может различать каждый запрос, который поступает от клиента. Самый популярный вариант идентификации запроса — cookies-файл, но он не единственный. Распространена идентификация запросов клиента через параметры запроса, MAC-адрес, при помощи расширенных HTTP-заголовков.
Как создается сессия на сайте и как заканчивается
Скриптовый язык PHP позволяет управлять сессией при помощи функции session_start() — это начало сессии — и завершать ее функцией session_destroy().
Механизм сессии строится следующим образом:
- Клиент обращается к хосту при помощи уникального запроса.
- Хост регистрирует обращение и присваивает клиенту ID-сессии.
- Этот идентификатор затем используется во время регистрации последующих обращений.
- Происходит определенное событие, и сессия завершается.
В качестве события завершения сессии могут выступать:
- Бездействие пользователя в течение 30 минут.
- Достижение определенного временного интервала.
- Обращение с авторизацией.
- Завершение сеанса.
- Обращение с некорректным ID сессии.
Клиент и сервер могут сохранять уникальный идентификатор сессии в течение очень длительного времени: неделями, месяцами и даже целый год.
Сессия в системах аналитики «Яндекс» и Google
В «Яндекс.Метрике» термины «сессия» и «визит» можно считать взаимозаменяемыми.
Под последовательностью действий понимается любая пользовательская активность: регистрация события (например, hit или notBounce), переход по URL, просмотр страницы. Для изучения поведения пользователя в рамках визита можно использовать «Вебвизор» «Яндекс.Метрики»:
Визит в «Яндекс.Метрике» считается оконченным в следующих сценариях:
- По истечении 30 минут. Этот период можно кастомизировать в настройках «Тайм-аут визита».
- При фиксировании перехода из рекламы.
Google Analytics для определения сессии применяет термин веб-сеанс. Google Analytics трактует сеанс как время, которое пользователь уделил сайту или приложению.
Сеанс в Google Analytics можно схематично представить в виде последовательности действий посетителя:
Сеанс по умолчанию завершается только в трех случаях:
- Переход по объявлению из другого источника рекламной кампании.
- Неактивность посетителя в течение 30 минут (в настройках параметров сеанса можно кастомизировать этот интервал).
- Наступление полуночи в часовом поясе пользователя.
Есть ли разница между сессией и сеансом
То, о чем сейчас пойдет речь, актуально для любой системы веб-аналитики. Сеанс и сессия не являются тождественными понятиями.
Сеанс относится к взаимодействию посетителя с сайтом. Пользовательский сеанс условно состоит из четырех частей:
- Переход на сайт.
- Открытие страницы.
- Взаимодействие с контентом.
- Закрытие страницы по любой причине.
Сессией же корректнее считать последовательность запросов, которые поступают от единого клиента и которые может идентифицировать сервер.
Браузерное уведомление «Время сессии истекло»: почему оно появляется
Часто в браузере появляется сообщение «Время сессии истекло». Оно может появляться при разных сценариях, но все они сводятся к одному: продолжительное бездействие на странице.
Стандартное время окончания сессии в языке PHР по умолчанию составляет ровно 24 минуты.
Если страница загружается дольше, появляется эта ошибка.
Заключение
Сегодня мы узнали, что сессия — это не только временной интервал. Это также последовательность запросов или вообще все запросы, которые совершил пользователь после перехода по ссылке. Кроме этого, важно понимать разницу между сессией и сеансом.
Вообще сессия применительно к сайту — больше многозначный термин, чем четко определенный. Но чаще всего его используют, именно когда речь заходит об отчетах веб-аналитики. Правильно понимая сессию как событие, вы можете изучать отчеты веб-аналитики с большей эффективностью.
Комментарии 2