В чем разница с экспресс-сессией и cookie-сессией?

Я новичок с Express. Как Express 4.x удалил связанное промежуточное ПО. Любое промежуточное программное обеспечение, которое я хочу использовать, должно быть обязательным. Когда я читаю README с express-session и cookie-session на github, мне трудно понять разницу.

Поэтому я пытаюсь написать простой код, чтобы понять это. Я запускаю дважды для каждого промежуточного программного обеспечения.

var express = require('express')
  , cookieParser = require('cookie-parser')
  , session = require('cookie-session')
  , express_sess = require('express-session')
  , app = express();

app.use(cookieParser())
app.use(session({ keys: ['abc'], name: 'user' }));
//app.use(express_sess({ secret: 'abc', key: 'user'}));
app.get('/', function (req, res, next) {
    res.end(JSON.stringify(req.cookies));
    console.log(req.session)
    console.log(req.cookies)
});

app.listen(3000);

Для cookie-session я всегда получаю {} в своем терминале.

Для express-session я получаю такие вещи.

req.session: { cookie: { 
     path: '/',
     _expires: null,
     originalMaxAge: null,
     httpOnly: true 
   } 
}

req.cookie: {user: 's:aJ97vKA5CCwxqdTj0AV1siRQ.fWusS5+qfCKICtwkfrzcZ/Gq8P0Qdx/kx8mTBhoOhGU'}

Это действительно смущает меня. Итак, как объяснить результат с основным использованием? И какая между ними разница? Когда я должен их использовать?

39
задан Tinple 10 May 2014 в 15:37
поделиться