Я знаю, что это воспринимает вас слишком буквально, но было бы уместно указать, что HTTP не имеет состояния и поэтому не имеет сеансов. Чтобы поддерживать состояние, браузер или сервер должны сохранять информацию о состоянии между запросами. Традиционно сервер поддерживает состояние, и по соглашению это называется сеансом, но это не имеет ничего общего с HTTP, поскольку это обходной путь. Кроме того, сессия обычно имеет очень специфическую коннотацию, а именно то, что это индивидуальное посещение сайта, срок которого истекает, когда он больше не используется (некоторый период бездействия). Это также будет отличаться для одного и того же пользователя, использующего разные компьютеры или браузеры.
Чтобы выполнить сеанс сервера, сервер обычно выделяет некоторую информацию в памяти или базе данных для отслеживания состояния и использует часть идентифицирующей информации, чтобы связать запросы http с этим состоянием. Обычно это токен. Браузер должен включать информацию, идентифицирующую сеанс, в каждый http-запрос. Неважно, как это происходит, если сервер и браузер согласны. Это чаще всего cookie или параметр url в качестве запасного варианта, но если вы правильно настроили код, он также может быть частью самого url, частью тела POST или даже нестандартным заголовком http.
Альтернатива, которая становится все более популярной, заключается в поддержании состояния в браузере и использовании чисто ajax-вызовов к серверу. В этом сценарии серверу не нужно поддерживать какую-либо концепцию сеанса, и он просто возвращает данные, которые запрашиваются, полностью независимым от пользователя способом. Может потребоваться некоторая аутентификация, если данные являются частными, но токен сеанса - нет, и на сервере не сохраняется состояние.