Подтвердить что ты не робот

В чем разница между промежуточным программным обеспечением "session" и "cookieSession" в Connect/Express?

В комплекте с Connect/Express есть две связанные с сеансом связи. В чем разница? Как выбрать?

Я предполагаю, что session промежуточное программное обеспечение совпадает с cookieSession промежуточным программным обеспечением, но с дополнительным механизмом хранения.

4b9b3361

Ответ 1

промежуточное программное обеспечение сеанса реализует общие функции сеанса с хранением в памяти по умолчанию. Однако он позволяет указать другие форматы хранения.

промежуточное программное обеспечение cookieSession, с другой стороны, реализует хранилище с поддержкой файлов cookie (то есть весь сеанс сериализуется в cookie, а не только ключ сеанса.Это действительно нужно использовать только тогда, когда данные сеанса будут оставаться относительно небольшими.

Ответ 2

Оба посредника используют куки файлы на стороне клиента для поддержки пользовательского контекста, то есть сеанса. Разница заключается в следующем:

  • Что хранится в файлах cookie и
  • Нужен ли серверный магазин

В приведенной ниже таблице сравнивается промежуточное программное обеспечение cookieSession и промежуточное ПО сеанса wrt Сессии:

+----------------+-----------------------+----------------------+
|                |   Client-side store   |   Server-side store  |
|                |        (cookie)       |  (in-memory, db ..)  |
+----------------+-----------------------+----------------------+
| Middleware     | Used?  |    Content   | Used? |    Content   |
+----------------+--------+--------------+-------+--------------+
| session        |   Yes  |  Session ID  |  Yes  | Session data |
+----------------+--------+--------------+-------+--------------+
| cookie-session |   Yes  | Session data |   No  |      N/A     |
+----------------+--------+--------------+-------+--------------+

cookieSession middleware проще, поскольку для него не требуется никакого дополнительного серверного хранилища, так как сервер остается полностью без гражданства. промежуточное программное обеспечение сеанса требует серверного хранилища. Очевидным ограничением хранилища сеансов по умолчанию в памяти является то, что он не работает, когда есть несколько экземпляров сервера; в таких случаях потребуется альтернативное хранилище (например, база данных), что делает его относительно сложным. В общем, хотя промежуточное ПО сеанса чаще используется, поскольку оно более гибкое (для хранения конфиденциальных данных или больших полезных нагрузок и т.д.).