What is the difference between "session" middleware and "cookieSession" in Connect / Express?

Complete with Connect / Express there are two connected with the session. What is the difference? How to choose?

I assume session middleware is the same as cookieSession middleware, but with an additional storage mechanism.

+49
session middleware express connect
Apr 01 '13 at 14:00
source share
2 answers

Session middleware implements common session functions with default storage. However, it allows you to specify other storage formats.

The cookieSession middleware , on the other hand, implements cookie-enabled storage (i.e. the entire session is serialized into a cookie, not just a session key. This really needs to be used only when the session data remains relatively small.

+51
Apr 01 '13 at 14:14
source share

Both intermediaries use client-side cookies to support the user context, i.e. the session. The difference is as follows:

  • What is stored in cookies and
  • Do I need a server store

The table below compares the cookieSession middleware and the session wrt session middleware :

+----------------+-----------------------+----------------------+ | | 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 is simpler because it does not require any additional server storage, as the server remains completely stateless. Session middleware requires server storage. An obvious limitation of the default session storage in memory is that it does not work when there are multiple server instances; in such cases, alternative storage (such as a database) will be required, which makes it relatively complex. In general, although session middleware is more commonly used because it is more flexible (for storing sensitive data or large payloads, etc.).

+5
May 20 '16 at 6:55
source share



All Articles