Соберите проект #
Выберите интересующую вас услугу
Меня интересует...

    Что такое сессия на сайте

    Что такое сессия на сайте
    4 мин.

      Сложно найти человека, который ни разу не сталкивался с различными ошибками на сайтах. Одним из самых часто встречаемых предупреждений является сообщение «Ваша сессия истекла». Рядовому пользователю данное словосочетание ни о чем не скажет. Первое, что вызывает вопрос само слово «сессия».

      На самом деле в этом понятии нет ничего сложного и разобраться с ним под силу любому. Совсем не обязательно знать принципы работы всемирной паутины и расположенных в ней ресурсов. Достаточно познакомиться с базовыми терминами и понять суть происходящих процессов.

      Что такое сессия на сайте

      В веб-сфере под сессией принято понимать определенный промежуток времени, который начинается в момент перехода на сайт и заканчивается с закрытием его вкладок. Чтобы узнать длительность сессии достаточно вычислить разницу между временем первого и последнего запроса, отправляемого на сервер.

      Лучше понять принцип работы помогает протокол передачи гипертекста или HTTP. Он лежит в основе всех процессов, происходящих в современном Интернете. С его точки зрения, сессия представляет собой дополнительный логический объект, благодаря которому происходит качественная передача данных. По сути она связывает последовательные пользовательские HTTP-запросы.

      К примеру, если открыть в браузере абсолютно любой веб-ресурс с авторизацией и попытаться зайти в личный кабинет сразу с двух аккаунтов – ничего не получится. Сайт предложит выбрать одну учетную запись. Но, если запустить другой браузер, и уже через него попробовать зайти во второй аккаунт, при этом не закрывая вкладку с авторизацией в первом браузере, то все получится. В двух вкладках будут открыты разные личные кабинеты на одном и том же сайте. Так произошло потому, что сервер создал две параллельные сессии для каждого из браузеров.

      Самые распространенные сценарии сессии

      Чаще всего сессию рассматривают, как свершившееся событие. Такой подход позволяет веб-аналитикам подробно изучать примеры пользовательского поведения. В рамках такого исследования особый интерес представляют следующие критерии:

      • длительность нахождения на страницы;
      • список совершенных действий;
      • количество просмотренных страниц;
      • степень вовлеченности пользователей.

      Сегодня сессии используются в самых разных областях. Они задействованы во многих сценариях и этот список постоянно пополняется. Так, сессии помогают анализировать интернет-трафик и обрабатывать пользовательские данные, не сохраняя при этом конфиденциальную информацию. Также сессии популярны в среде тестирования веб-продуктов и серверов.

      Для простых пользователей понятие сессии лучше всего рассматривать в контексте работы сайтов. Там она представляет собой инструмент, с помощью которого можно определить последовательность запросов, поступающих от пользователя.

      Из каких этапов состоит сессия

      Пользовательские сессии принято разбивать на три основных этапа:

      • открытие – это начало взаимодействия с сайтом, момент, когда пользователь перешел по URL-адресу;
      • работа с переменными – перемещаясь между страницами, пользователь оставляет большой объем информации, например, свой идентификатор или данные авторизации. Все это хранит в себе сессия;
      • завершение – закрытие всех страниц сайта и выход из браузера.

      На перечисленные пункты не влияет длительность сессии или объем переданных данных. Данные этапы остаются ключевыми при любых условиях взаимодействия пользователя и сервера.

      Как начинаются и как завершаются сессии

      Чтобы создать новую сессию используется функция session_start(), а для ее завершения применяется процедура session_destroy(). Чтобы сессия начала работать, необходимо отправить соответствующий запрос на хост. Далее начавшейся сессии присваивается уникальный идентификатор (ID). Он остается неизменным на протяжении всего жизненного цикла сессии.

      Полученный ID нужен для регистрации действий пользователя на сайте. Если же бездействие продолжается более 30 минут сессия завершается. Произойти это может и по другим причинам:

      • обращение к серверу с целью авторизации;
      • обновление страницы;
      • неправильный идентификатор.

      Идентификатор сессии может сохраняться довольно длительное время, вплоть до нескольких месяцев или года.

      Сессии и системы веб-аналитики

      Помимо браузеров с сессиями работают системы аналитики. Они обладают разными функциональными возможностями, но схожими задачами, среди которых можно выделить: общую оценку ресурса, анализ эффективности рекламы, прогнозирование и т.д.

      Яндекс.Метрика

      Данный сервис обладает несколькими характерными особенностями. К примеру, сессия может быть заменена на понятие «визит». В обратную сторону это тоже работает. В рамках данного программного решения, оба термина обозначают последовательность действий, совершаемых пользователем.

      Для «Яндекса» сессия (визит) считается завершенной, если был зафиксирован рекламный переход или подошел к концу установленный временной промежуток. По умолчанию длительность последнего составляет 30 минут, но это значение можно изменить в настройках.

      Google Analytics

      В этой системе сессию называют веб-сеансом и понимают под этим названием временной промежуток, на протяжении которого пользователь находился на сайте или в приложении. Причиной для завершения сессии может стать: переход по рекламному объявлению, бездействие пользователя на протяжении 30 минут или наступление полуночи. В последнем случае, учитывается часовой пояс, в котором находится пользователь в текущий момент.

      В чем отличие сессии от сеанса

      Этот вопрос возникает у всех, кто впервые сталкивается с аналитическими веб-системами. На первый взгляд, кажется, что принципиальной разницы нет и понятия довольно синонимичны. На самом деле все несколько сложнее и отличия все же есть.

      Сеанс описывает общий процесс взаимодействия пользователя и веб-сайта. Здесь можно выделить четыре ключевых момента:

      • переход по URL-адресу;
      • открытие веб-страницы;
      • взаимодействие с ее элементами;
      • закрытие сайта.

      Сессия представляет собой последовательность запросов, которые с периодичностью поступают от одного пользователя. При этом каждый запрос имеет уникальный ID, с помощью которого происходит процесс идентификации.

      Почему сессия может закончится

      Сообщение в браузере о том, что «Время сессии истекло» видели многие пользователи. Его текст может изменяться, но принципиального значения это не играет. Причины появления такого уведомления также могут быть различны. Однако все эти сценарии приводят к одному и тому же итогу, а именно, потере данных и окончании сессии.

      Если пользователь остается неактивным на странице более 24 минут, сессия завершается. Такой временной промежуток связан с особенностями языка PHP. Но при желании, его можно изменить. Другой причиной является закрытие браузера. В этом случае сессия прерывается автоматически.

      Заключение

      Вышеуказанная информация помогает узнать, что из себя представляет сессия, какие у нее есть особенности и причины завершения. Самое главное – понять, что сессия, это не просто временной промежуток, а целая последовательность запросов. Они поступают со стороны пользователя, с момента того, как он перешел по ссылке и зашел на сайт.

      Не нужно путать два понятия «сеанс» и «сессия». Несмотря на то, что они кажутся идентичными, это не так. В целом, применительно к веб-разработке, термин «сессия» имеет несколько пространное определение. Гораздо чаще, его используют в тех случаях, когда речь идет про аналитические веб системы и формируемые ими отчеты.

      Если разобраться с понятием «сессия» как с событием, то изучение отчетов, связанных с веб-аналитикой будет проходить гораздо проще и эффективнее. В этой сфере многое строится вокруг данного термина.

      Продолжая пользоваться сайтом, я даю согласие на использование файлов cookie.