- 쿠키는 브라우저에 정보들을 저장하는 방식으로 진행된다
- 세션은 정보를 서버에 저장해놓고 키를 통해서 브라우저와 통신하게 되는데, 이때 필요한 세션정보는 쿠키로 저장한다 => (connect.id)
- Route 에 의한 경로 이동을 하게 되는데 html 에서는 action="path" 에 있는 경로나 a href="path" 에 있는 경로를 보고, 서버(Nodejs)로 해당 경로를 던지게 되면 서버(Nodejs) 에서는 해당 경로를 Route 로 등록해놓았을 경우 해당 경로에 대한 함수 처리를 하게 되는 방식으로 동작
import express from 'express';
import cookieParser from 'cookie-parser';
import mysql from 'mysql2/promise';
import session from 'express-session';
import SessionStore from 'express-mysql-session';
const app = express();
const storeOption = {
host: process.env.DB_HOST,
port: process.env.DB_PORT,
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME,
clearExpired: true,
charset: 'utf8mb4_bin',
schema: {
tableName: 'oal_sessions',
columnNames: {
session_id: 'session_id',
expires: 'expires',
data: 'data'
}
}
};
const sessionStore = new MySQLStore(storeOption);
app.use(session({
httpOnly: true,
secret: 'Top secret',
resave: false,
saveUninitialized: true,
store: new MySQLStore(dbOptions),
}))
2196
732000
101000
req.session.user = {
id: reqData.id,
password: reqData.password,
nick: reqData.nick,
};
req.session.save();