Сессия закончится при закрытии вкладки или всех страниц сайта

Ответ

Сессия сохраняется до закрытия вкладки (если используется sessionStorage) или до закрытия браузера (если localStorage). Однако серверная сессия (например, через cookies) может быть настроена по-разному:

  • По умолчанию серверные сессии (PHP, Node.js и др.) удаляются при закрытии браузера, если кука не имеет срока жизни (expires/max-age).
  • Если кука установлена с expires или max-age, она сохраняется даже после закрытия браузера.

Пример куки с сессией:

// Сессионная кука (удалится при закрытии браузера)
document.cookie = "session_id=abc123; path=/";

// Постоянная кука (сохранится после закрытия)
document.cookie = "token=xyz456; path=/; max-age=3600"; // 1 час

Ответ 18+ 🔞

А, ну это классика, блядь! Сидишь такой, втыкаешь в свой сайт, а тут — сессия. И тут вопрос, который всех ебёт: а когда эта сука, блядь, накроется медным тазом?

Смотри, тут как бы два слоя, как в говне, блядь. Первый слой — это то, что у тебя в браузере, в этих твоих localStorage и sessionStorage.

  • sessionStorage — это как одноразовая зажигалка, блядь. Закрыл вкладку — и всё, пиздец. Чих-пых, и нету. Улетела в рот меня слепых.
  • localStorage — это уже зажигалка, которую ты можешь в жопу засунуть и на следующий день достать. Закрой хоть весь браузер, хоть комп выруби — она там будет лежать, пока ты её сам не сотрёшь или пользователь не почистит кэш. Овердохуища времени может храниться.

Но это всё, блядь, детский сад, штаны на лямках. Настоящая магия, а иногда и пиздец, начинается на сервере. Вот там, сука, сессии через куки.

Сервер тебе говорит: «На, мудила, держи печеньку». И в ней какой-нибудь session_id=abc123. И вот тут, внимание, ёпта, подвох!

  • Если кука без срока жизни — это как сессионная зажигалка, только для всего браузера. Закрыл браузер — и сервер тебя забыл, как старого мудака. Кука сдохла, сессия нахуй. Сервер её может ещё какое-то время в памяти держать, но без куки ты к ней не подъедешь.
  • А если куке прописали expires или max-age — вот это уже серьёзно, блядь. Это как паспорт с визой. Браузер закрылся, комп выключился, а эта падла лежит себе на жёстком диске. Откроешь браузер через неделю — а он её обратно на сервер шлёт: «Чё как, я вернулся, ёба!». И если сервер её ещё помнит (сессия не протухла), то тебе опять «добро пожаловать, уёбок».

Вот, смотри, как это в коде выглядит, сука:

// Это как пропуск на один день — закрыл браузер, и в помойку.
document.cookie = "session_id=abc123; path=/";

// А это уже пропуск с годностью, блядь. На час, например.
document.cookie = "token=xyz456; path=/; max-age=3600"; // 1 час

Вот и вся философия, блядь. Либо ты временный гость, которого вышвырнут при первом чихе, либо постоянный клиент, но и ответственности больше — не потеряй эту куку, а то какой-нибудь пидарас шерстяной её подберёт и в твоём акке начнёт творить хуйню.