> For the complete documentation index, see [llms.txt](https://kaze.gitbook.io/qa-theory/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kaze.gitbook.io/qa-theory/web/chto-takoe-sessiya.md).

# Что такое сессия?

**Сессия** — это механизм хранения информации о взаимодействии пользователя с сервером на протяжении определённого времени. Она позволяет серверу «помнить» пользователя между запросами, поскольку HTTP сам по себе является статeless (не хранит состояние).

***

### 1️⃣ Основные характеристики сессии

* **Временная:** живёт ограниченное время (например, 20–30 минут бездействия).
* **Идентифицируемая:** у каждого пользователя есть уникальный идентификатор сессии (session ID).
* **Хранение данных:** сервер может хранить любые данные о пользователе — авторизация, корзина, настройки и т.д.

***

### 2️⃣ Как работает сессия

1. Пользователь заходит на сайт и проходит аутентификацию.
2. Сервер создаёт **session ID** и хранит его с данными о пользователе.
3. Клиент получает этот session ID:
   * Обычно через **cookie**.
4. При следующих запросах браузер отправляет session ID, и сервер «узнаёт» пользователя.
5. Сессия может истечь после определённого времени или при выходе пользователя.

***

### 3️⃣ Отличие сессии от куки

| Параметр     | Сессия                              | Куки                                        |
| ------------ | ----------------------------------- | ------------------------------------------- |
| Хранение     | На сервере                          | На клиенте (браузере)                       |
| Объём данных | Любой (ограничен сервером)          | Небольшой (обычно <4KB)                     |
| Безопасность | Более безопасна (данные на сервере) | Менее безопасна (можно изменить на клиенте) |

***

### 4️⃣ Использование сессий в тестировании

* Проверка авторизации и сохранения состояния между страницами.
* Проверка истечения сессии (logout / timeout).
* Проверка корректности передачи данных в сессии (например, корзина покупок).
* Тестирование безопасности: нельзя получить чужую сессию или обойти авторизацию.
