[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-web-chto-takoe-sessiya":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},1185,"chto-takoe-sessiya",33,"web","Web","🌍","Что такое сессия?","Сессия (session) — механизм сохранения состояния взаимодействия пользователя с сервером на протяжении нескольких HTTP-запросов, компенсирующий stateless-природу протокола HTTP.\n\n> **Аналогия из жизни:** сессия — это как номерок в гардеробе. Вы сдали пальто (данные), получили номерок (session ID). При следующем обращении предъявляете номерок, и гардеробщик (сервер) находит ваше пальто (данные).\n\nСессия начинается при первом запросе пользователя и завершается при явном выходе (logout), по истечении тайм-аута бездействия (обычно 30 минут) или при обрыве связи. Данные сессии хранятся на сервере, а клиент хранит только идентификатор сессии (session ID), обычно в cookie.\n\n### Как работает сессия\n\n1. Клиент отправляет первый запрос на сервер\n2. Сервер создаёт объект сессии и генерирует уникальный session ID\n3. Session ID отправляется клиенту в cookie (`JSESSIONID` в Java)\n4. При каждом следующем запросе браузер автоматически отправляет session ID\n5. Сервер находит объект сессии по ID и восстанавливает контекст пользователя\n\n### Где хранятся данные сессии\n\n| Хранилище | Плюсы | Минусы |\n|-----------|-------|--------|\n| In-memory (JVM Heap) | Быстро, просто | Теряется при рестарте, не масштабируется |\n| Redis \u002F Memcached | Масштабируется, переживает рестарт | Сетевые задержки |\n| БД | Персистентность | Медленнее всего |\n| JWT-токен (клиент) | Stateless, масштабируется | Нельзя отозвать до истечения, размер |\n\nВ Spring-приложениях сессиями управляет `HttpSession`, а для распределённых систем — Spring Session с Redis-бэкендом.\n\n> **На собеседовании:** объясните связь между сессией и cookies: cookie хранит только session ID, а данные — на сервере. Частый вопрос: «Что будет, если пользователь отключил cookies?» — session ID можно передавать через URL-rewriting, но это менее безопасно.","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Что такое сессия? — Gymterview","Сессия (session) — механизм сохранения состояния взаимодействия пользователя с сервером на протяжении нескольких HTTP-запросов, компенсирующий stateless-природу","Сессия (session) — механизм сохранения состояния взаимодействия пользователя с сервером на протяжении нескольких HTTP-за",[7,13],"Сессия (session) — механизм сохранения состояния взаимодействия пользователя с сервером на протяжении нескольких HTTP-запросов, компенсирующий stateless-природу протокола HTTP.",true]