Ответ 1
A Session используется веб-сайтами для хранения application состояние для посетителей при загрузке нескольких страниц.
Сеансы файлов cookie
- Сохраняйте свои данные на стороне клиента/пользователя
- Работайте гладко, когда у вас есть кластер веб-серверов.
- Браузеры обычно ограничивают файлы cookie максимальным размером около 4 килобайт на домен, поэтому ограниченный размер данных сеанса
- Cookies могут быть установлены на длительный срок службы, что означает, что данные, хранящиеся в cookie сеанса, могут храниться в течение нескольких месяцев, если не лет (пользователи могут очищать файлы cookie, хотя)
- Должен быть установлен с флагами HttpOnly и Secure, иначе его можно легко украсть с помощью XSS
Сеансы базы данных
- Храните свою серверную часть данных
- Один из ваших веб-серверов обрабатывает первый запрос, другие веб-серверы в вашем кластере не будут иметь сохраненную информацию, если центральное сохранение данных сеанса пользователя
- Клиенты не имеют доступа к информации, которую вы храните о них, и поэтому лучше для конфиденциальных данных.
- Данные не должны перемещаться с клиента на сервер по каждому запросу (клиентам просто нужно отправить идентификатор, чтобы сервер мог загружать данные).
- Может хранить больше данных, поскольку хранится на сервере, а не в файле cookie
Сеансы файлов cookie и сеансов базы данных
| Feature | Cookie Sessions | Database Sessions | |-------------------------------|-----------------|-------------------| | Works without database | Yes | No | | Can store sensitive user data | No* | Yes |
* Может хранить указатели, ссылающиеся на конфиденциальные данные пользователя на сервере, а не на сами конфиденциальные данные.
Обе сессии cookie и сеансы базы данных работают одинаково, единственное различие заключается в том, где хранятся данные. Django по умолчанию относится к сеансам базы данных, а Flask по умолчанию для сеансов cookie.
Дополнительная информация:
https://en.wikipedia.org/wiki/Session_(computer_science)
http://php.about.com/od/learnphp/qt/session_cookie.htm
http://wonko.com/post/why-you-probably-shouldnt-use-cookies-to-store-session-data
http://www.tuxradar.com/practicalphp/10/1/0