En primer lugar, ese sitio web es un lugar horrible para ir.
Ahora a la pregunta.
Lo que en realidad son sesiones:
- Los datos se almacenan en el servidor.
- Se emite una cookie que contiene una ID.
- Este ID se envía de vuelta al servidor en cada solicitud, debido a que el navegador envía las cookies.
- Ahora el servidor puede volver a asociar la ID en la cookie, comúnmente llamada
Session ID
o abreviatura SID
, con los datos de sesión almacenados en el servidor.
Express.js has support for sessions built in.
Lo que el ejemplo muestra:
- Configurar el middleware Express.js
- Usando una tienda de terceros para guardar los datos de la sesión, en este caso Redis (que la OMI es un exceso para su problema atm)
Instalación Redis requiere un poco de trabajo, pero también es posible utilizar Express.js incorporado de almacenamiento de memoria:
var express = require('express');
var app = express.createServer();
var MemoryStore = require('connect/middleware/session/memory');
app.use(express.bodyDecoder());
app.use(express.cookieDecoder());
app.use(express.session({ store: new MemoryStore({ reapInterval: 60000 * 10 }) }));
app.get('/', function(req, res){
req.session.visitCount = req.session.visitCount ? req.session.visitCount + 1 : 1;
res.send('You have visited this page ' + req.session.visitCount + ' times');
});
app.listen(4000);
Esto simplemente hará un seguimiento de cuántas veces visitó la página, cerró su navegador y volvió a abrir. Los conteos todavía estarán allí.
Puede encontrar más información sobre las opciones del MemoryStore
, como la duración máxima de una sesión, etc. here.
¿Sería más correcto decir "de una página a otra en el mismo dominio"? – grantwparks
http://stackoverflow.com/questions/8959233/is-there-a-cookies-based-session-store-for-nodejs-connect-express – abernier