Протокол HTTP не має статусу. Сеанси - це спосіб збереження стану клієнта для HTTP-запитів. Ви можете зробити це за допомогою вбудованої обробки сеансу на платформі або зробити це самостійно за допомогою параметрів рядка запиту. У будь-якому випадку деяка концепція сеансу необхідна для багатьох завдань.
Ваш колега, ймовірно, не любить конкретного виконання або не використовував сеанси за призначенням. Якщо вам потрібно зберегти інформацію про певне з'єднання з клієнтами через HTTP-запити, вам потрібна певна форма збереження сеансу.
Наступні питання стосуються конкретного впровадження:
Нетиповий характер змінних сеансу
Характер глобальних змінних змінних сеансів
Завантажте балансуючі сервери, що втрачають сеанси
Перезапуск пулів / серверів додатків
Наприклад, я найчастіше працюю в PHP і зберігаю інформацію про сеанси у реляційній базі даних. Тому мої змінні сеансу набираються. Балансування завантаження та перезавантаження сервера не викликають проблем із сеансом.
Цей цікавіший:
Тайм-аути сесії, що спричиняють втрату стану
Сесії найчастіше зберігаються за допомогою файлів cookie. Вони можуть бути видалені клієнтом у будь-який час. Але вони також можуть бути збережені за допомогою параметра рядка запиту і тому ніколи не вичерпуються на клієнта. Час очікування сервера залежить від вас. Тож навіть це питання є специфічним для впровадження.
Не будемо викидати всю концепцію сеансів тільки тому, що нам не подобається конкретна реалізація. Будь-яка хороша рамка веб-додатків полегшить правильне використання сеансів, щоб зберегти входи користувачів або зберегти все інше, що стосується поточного відвідування користувача. Запис бази даних користувача може (і повинен) використовуватися для зберігання специфічних для них речей під час входу. Однак, анонімні відвідувачі можуть мати тимчасову інформацію, яку також варто зберегти під час сеансу, наприклад, короткий список останніх відвідуваних сторінок або перевагу приховати повідомлення, яке вони вже бачили. Зазвичай для зберігання сеансу підходить лише менша тимчасова інформація.
using things like query string parameters instead
- У цьому випадку завжди завжди використовуйте параметри рядка запиту, якщо це можливо. Використання сеансу для цього типу параметрів є крихким і може вводити дивні помилки, коли у користувачів відкрито кілька вкладок.